2017-09-15 11 views
-1

Ich mache eine App für eine Hausaufgabe in meiner Schule und ich verwende Onesignal REST API, aber ich möchte die Spieler-ID in meiner Datenbank speichern, um es in einer anderen Anwendung wie einem Server-Absender zu verwenden.
Meine Anwendung ist in Intel XDK und ich benutze Cordova, um auf Android zu bauen.
Das Problem ist, dass ich kein Beispiel finde, die Spieler-ID zu bekommen.
Kann mir jemand bei diesem Problem helfen? Ich benutze JavaScript Danke.OneSignal Get Player ID

das ist, was ich in meinem Js haben:

document.addEventListener('deviceready', function() { 

    var notificationOpenedCallback = function(jsonData) { 
    console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData)); 
    }; 

    window.plugins.OneSignal 
    .startInit("XXXXXX-XXXX-XXX-XXXX-XXXXXXXXX") // <- api id 
    .handleNotificationOpened(notificationOpenedCallback) 
    .endInit(); 

    OneSignal.push(function() { 
    OneSignal.getUserId(function(userId) { 
     console.log("OneSignal User ID:", userId); 
    }); 

    OneSignal.getUserId().then(function(userId) { 
     console.log("OneSignal User ID:", userId); 
    }); 
    }); 
}, false); 

Antwort

0

OneSignal Prototyp stellt eine Funktion getIds, die den Spieler-ID und Push-Token für das aktuelle Gerät gibt.

window.plugins.OneSignal 
    .startInit("XXXXXX-XXXX-XXX-XXXX-XXXXXXXXX") <- api id 
    .getIds(function(userDetails) { 
     console.log(userDetails.userId); // Player ID 
     console.log(userDetails.pushToken); 
    }) 
    .endInit(); 

https://documentation.onesignal.com/docs/cordova-sdk#section--postnotification-

+0

Können Sie fügen Sie bitte auch einen Text zu erklären, was das Problem des OP ist und etwas Kontext zu geben? –

+0

Kontext und Link zur Dokumentation hinzugefügt. –

1

Hier ist ein Arbeits Code-Schnipsel:

window.plugins.OneSignal 
    .startInit("YOUR-APP-ID") 
    .handleNotificationOpened(notificationOpenedCallback) 
    .endInit(); 

window.plugins.OneSignal.getPermissionSubscriptionState(function(status) { 
    idapp = status.subscriptionStatus.userId; 
});