首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >订阅后获取OneSignal UserID

订阅后获取OneSignal UserID
EN

Stack Overflow用户
提问于 2017-09-27 05:41:46
回答 1查看 4.8K关注 0票数 1

我使用OneSignal获取通知,所以根据文档,我的SDK代码是这样的:

代码语言:javascript
运行
复制
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = window.OneSignal || [];
    OneSignal.push(["init", {
      appId: "myappID",
      safari_web_id: "myID",
      autoRegister: false,
      promptOptions: {
            /* My prompt options */
       },
       welcomeNotification: {
            //my options
       },
       notifyButton: {
        enable: true,
        showCredit: false,
        prenotify: true,
        position: 'bottom-left',
        text: {
            /*My text options */
        },
        colors: { // My custom colors
        }
      }
    }]);

    OneSignal.push(function(){
        OneSignal.showHttpPrompt();

        OneSignal.getUserId().then(function(userId){
            console.log("OneSignal User ID:", userId);
        });
    });
</script>

它的工程伟大的幻灯片显示提示信息,但订阅后,我需要刷新网站,以获得控制台中的UserID。如何修改此代码函数,订阅后立即在控制台获取userID?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 17:06:07

您需要为订阅更改事件添加一个监听器。否则,getUserId调用将在用户接受订阅之前触发。这对我很有效:

代码语言:javascript
运行
复制
var OneSignal = window.OneSignal || [];

OneSignal.push(function() {
  OneSignal.on('subscriptionChange', function (isSubscribed) {
    console.log("The user's subscription state is now:",isSubscribed);
      OneSignal.push(function() {
        OneSignal.getUserId(function(userId) {
          console.log("OneSignal User ID:", userId);
        });
      });
    });
  });

  OneSignal.push(["init", {
    appId: "myappID",
    safari_web_id: "myID",
    autoRegister: false,
    promptOptions: {
        /* My prompt options */
    },
    welcomeNotification: {
        //my options
    },
    notifyButton: {
      enable: true,
      showCredit: false,
      prenotify: true,
      position: 'bottom-left',
      text: {
        /*My text options */
     },
     colors: { // My custom colors
     }
   }
}]);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46436294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档