Как получить уникальный идентификатор пользователя One Signal в Mobile?
Я разрабатываю приложение для ресторана. Я использую One Signal в своем приложении для отправки уведомлений. Здесь, когда я размещаю заказ, мне нужно отправить уникальный идентификатор одного сигнала для конкретного пользователя для получения уведомления о том, что "Ваш заказ успешно установлен... Он находится в состоянии" Прогресс ". Подождите". Для этого мне нужен пользовательский идентификатор пользователя One Signal. Как я могу его получить? Я новичок в One Signal. Пожалуйста, помогите мне.
Ответы
Ответ 1
Получил уникальный идентификатор OneSignal, используя следующий код, который находится на официальном сайте 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);
}
});
См:
Получение кода на официальном сайте
Ответ 2
Вышеупомянутое решение для android устарело Использование:
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getSubscriptionStatus().getUserId();
Ответ 3
для iOS:
let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
if let id = status.subscriptionStatus.userId {
oneSignalPlayer_ID = id
print("\nOneSignal UserId:", id)
}
Ответ 4
Для android вы можете получить идентификаторы userID akaIDID, начиная с версии 3.5. 0+ собственного SDK для Android, используя метод getPermissionSubscriptionState и addSubscriptionObserver.
Дополнительные сведения об использовании getPermissionSubscriptionState см. В: https://documentation.onesignal.com/docs/android-native-sdk#section--getpermissionsubscriptionstate-
Для добавления наблюдателей подписки см.: https://documentation.onesignal.com/docs/android-native-sdk#section--addsubscriptionobserver-
В Github есть пример Native Android: https://github.com/OneSignal/OneSignal-Android-SDK
Он находится в папке "Примеры" с надписью "AndroidStudio"
Для iOS вы можете получить идентификаторы player, начиная с версии 2.5.0 собственного SDK для iOS, используя метод getPermissionSubscriptionState и addSubscriptionObserver.
Подробнее об использовании getPermissionSubscriptionState см.: Https://documentation.onesignal.com/docs/ios-native-sdk#section--getpermissionsubscriptionstate-
Для добавления наблюдателей подписки см.: https://documentation.onesignal.com/docs/ios-native-sdk#section--addsubscriptionobserver-
В Swift on Github есть проект примера iOS, который может быть полезен: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/master/Examples
Ответ 5
@Lakshmi Reddy
в iOS вы можете сделать, как показано ниже:
OSPermissionSubscriptionState* status = [OneSignal getPermissionSubscriptionState];
status.permissionStatus.hasPrompted
status.permissionStatus.status
// <- OneSignal idsAvailable is deprecated.it 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);