OneSignal kullanıcılarının iOS'daki benzersiz oyuncu kimliğini nasıl edinirim? OneSignal Resmi Belgelerinde yalnızca iOS SDK Kurulumu buldum.One Signal kullanıcısı iOS'taki benzersiz oyuncu kimliği nasıl alınır?
Önerileriniz varsa teşekkür ederiz.
OneSignal kullanıcılarının iOS'daki benzersiz oyuncu kimliğini nasıl edinirim? OneSignal Resmi Belgelerinde yalnızca iOS SDK Kurulumu buldum.One Signal kullanıcısı iOS'taki benzersiz oyuncu kimliği nasıl alınır?
Önerileriniz varsa teşekkür ederiz.
OneSignal'ın OSSubscriptionObserver gibi gözlemcileri kullanmanız gerekir. Daha iyi bir açıklama için
// Add OSSubscriptionObserver after UIApplicationDelegate
class AppDelegate: UIResponder, UIApplicationDelegate, OSSubscriptionObserver {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Add your AppDelegate as an subscription observer
OneSignal.add(self as OSSubscriptionObserver)
}
// After you add the observer on didFinishLaunching, this method will be called when the notification subscription property changes.
func onOSSubscriptionChanged(_ stateChanges: OSSubscriptionStateChanges!) {
if !stateChanges.from.subscribed && stateChanges.to.subscribed {
print("Subscribed for OneSignal push notifications!")
}
print("SubscriptionStateChange: \n\(stateChanges)")
//The player id is inside stateChanges. But be careful, this value can be nil if the user has not granted you permission to send notifications.
if let playerId = stateChanges.to.userId {
print("Current playerId \(playerId)")
}
}
}
, burada Sen standardUserDefaults içinde bulabilirsiniz addSubscriptionObserver
için belgelerdir. Aşağıdakileri kullanarak alabilirsiniz. İlk uygulama lansmanında ayarlandığına inanıyorum, ancak ilk kez application:didFinishLaunchingWithOptions:
çağrılmamış olabilir.
UserDefaults.standard.string(forKey: "GT_PLAYER_ID")
Sen Sözlük temsil bakarak kullanıcı varsayılan saklanır başka ne görebilirsiniz: Benim kod içinde bir yerde Oyuncu Kimliği olsun (Ya KullanıcıNo) gerekiyor UserDefaults.standard.dictionaryRepresentation()
ve ben istemiyorum herhangi bir yere kaydetmek için. Bu mükemmel çalıştı,
let userId = OneSignal.getPermissionSubscriptionState().subscriptionStatus.userId
sayesinde:
Bu kodu kullanarak sona erdi! – aznelite89
Rica ederim :) – GabrielaBezerra
Bence böyle bir şey için zor. OneSignal, oyuncu kimliğini günlüklere yazdırmalıdır. –