2016-04-02 24 views
16

Sto sviluppando un'applicazione ristorante. Sto usando One Signal nella mia app per inviare notifiche. Qui mentre inserisco l'ordine, devo inviare l'ID univoco del segnale unico per un utente specifico per ricevere la notifica di "Il tuo ordine è stato inserito correttamente ... È in corso. Attendi". Per questo ho bisogno dell'ID utente One Signal dell'utente. Come posso averlo? Sono novizio di One Signal. Mi aiuti per favore.Come ottenere un ID utente One Signal in Mobile?

risposta

30

Hai ottenuto l'ID univoco di OneSignal utilizzando il seguente codice che si trova nel sito ufficiale di OneSignal.

OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() { 
     @Override 
     public void idsAvailable(String userId, String registrationId) { 
      Log.d("debug", "User:" + userId); 
      if (registrationId != null) 
       Log.d("debug", "registrationId:" + registrationId); 

     } 
    }); 

consultare:

Getting code in Official Site

+0

ero provando a farlo su iOS e questo spiega come farlo. È la stessa logica in iOS – blackmoon

+0

Scusate ..non ho idea per IOS ji @blackmoon –

+0

Qualsiasi soluzione per iOS @blackmon –

2

per iOS:

let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() 
    if let id = status.subscriptionStatus.userId { 
    oneSignalPlayer_ID = id 
    print("\nOneSignal UserId:", id) 
} 
0

@Lakshmi Reddy

in iOS, si può fare come qui di seguito:

OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState]; 
    status.permissionStatus.hasPrompted 
    status.permissionStatus.status 
//               <- OneSignal idsAvailable is deprecated.it's the alternative 
    status.subscriptionStatus.subscribed 
    status.subscriptionStatus.userSubscriptionSetting 
    status.subscriptionStatus.userId 
    status.subscriptionStatus.pushToken 
NSLog(@"Push Token - %@",status.subscriptionStatus.pushToken); 
NSLog(@"Push User ID - %@",status.subscriptionStatus.userId); 
1

La soluzione di cui sopra per Android è deprecato Usa:

OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState(); 
status.getSubscriptionStatus().getUserId(); 
0

per Android, è possibile ottenere i userids aka playerIDs a partire dalla versione 3.5.0+ del SDK nativo Android utilizzando il getPermissionSubscriptionState metodo e addSubscriptionObserver.

Per ulteriori informazioni sull'uso getPermissionSubscriptionState vedere: https://documentation.onesignal.com/docs/android-native-sdk#section--getpermissionsubscriptionstate-

Per l'aggiunta di osservatori di sottoscrizione si veda: https://documentation.onesignal.com/docs/android-native-sdk#section--addsubscriptionobserver-

C'è un esempio nativo Android su Github: https://github.com/OneSignal/OneSignal-Android-SDK

È negli esempi cartella denominata Android Studio

Per iOS, è possibile ottenere gli ID giocatore a partire dalla versione 2.5.0 della SD iOS nativa K utilizzando il metodo getPermissionSubscriptionState e addSubscriptionObserver.

Per ulteriori informazioni sull'uso getPermissionSubscriptionState vedere: https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-

Per l'aggiunta di osservatori di sottoscrizione si veda: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-

c'è un progetto iOS esempio in Swift su Github che potrebbe essere di qualche aiuto: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples