Una señal: idsAvailable está en desuso.

La última versión de Build de OneSignal genera una advertencia como " idsAvailable " está en desuso. ¿Cómo puedo get 'playerID' usando getPermissionSubscriptionState () en lugar de idsDisponible como lo hice a continuación?

OneSignal.idsAvailable({ (userId, pushToken) in if (pushToken != nil) { if let playerID = userId { // do something } } }) 

    OneSignal mantiene una buena documentation.

    Para Android, puede get ID de usuario mediante el método idsAvailable que devuelve el ID de usuario y idsAvailable logging.

    userID también conocido como playerID es una cadena con formatting UUID de OneSignal. (único por dispositivo por aplicación) registrationID es un identificador asignado por Google (único por dispositivo por aplicación y cambios en la reinstallation).

    Para iOS, puede get los ID de usuario de la misma manera, pero en la versión 2.5.0+ del SDK de iOS nativo se agregó el método getPermissionSubscriptionState y addSubscriptionObserver.

    Puede get OSPermissionSubscriptionState para Swift de la siguiente manera:

     let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() let hasPrompted = status.permissionStatus.hasPrompted print("hasPrompted = \(hasPrompted)") let userStatus = status.permissionStatus.status print("userStatus = \(userStatus)") let isSubscribed = status.subscriptionStatus.subscribed print("isSubscribed = \(isSubscribed)") let userSubscriptionSetting = status.subscriptionStatus.userSubscriptionSetting print("userSubscriptionSetting = \(userSubscriptionSetting)") let userID = status.subscriptionStatus.userId print("userID = \(userID)") let pushToken = status.subscriptionStatus.pushToken print("pushToken = \(pushToken)") 

    Para Objective-C:

     OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState]; status.permissionStatus.hasPrompted status.permissionStatus.status status.subscriptionStatus.subscribed status.subscriptionStatus.userSubscriptionSetting status.subscriptionStatus.userId status.subscriptionStatus.pushToken 

    Entonces su código anterior ahora se verá algo como esto:

     let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() let userID = status.subscriptionStatus.userId print("userID = \(userID)") let pushToken = status.subscriptionStatus.pushToken print("pushToken = \(pushToken)") if pushToken != nil { if let playerID = userID { // do something } } 

    Acabo de descubrir en la documentation, parece "ID de usuario" significa "ID de jugador".

    https://documentation.onesignal.com/docs/ios-native-sdk#section–getpermissionsubscriptionstate-