目标是在iOS和Android应用中使用Xtify SDK实现推送订阅。另一个要求是,只有当用户成功登录并且用户同意订阅(在此之前不同意)时,Xtify才会进行订阅。但问题是,在Xtify SDK中,我没有找到任何明确的订阅方法,似乎订阅在应用程序第一次加载时自动发生。我想控制这种行为,并希望调用订阅后,成功登录和用户接受(通过js弹出),他想注册(或不)到Xtify通知。根据他的回答,我将决定是否订阅Xtify。
要求是在登录成功且用户接受某些条款之前不应生成XID;
请告诉我SDK订阅方法,我可以决定何时调用。
应用程序细节:
- IBM Worklight 6.2 Hybrid app
- 环境:Android和iOS
对于iOS,您需要将Xtify初始化代码移到登录部分。特别是将以下代码移动到所需的位置:
XLXtifyOptions *anXtifyOptions=[XLXtifyOptions getXtifyOptions];
anXtifyOptions.categories = [self getDeveloperPushCategories]; // use this method to enable static categories
[[XLappMgr get ]initilizeXoptions:anXtifyOptions];
对于Android,你需要移动初始化,见下文,从MainActivity::onStart()到想要的地方:
XtifySDK.start(getApplicationContext(), XTIFY_APP_KEY, PROJECT_NUM);
一种选择可能是通过调用设备上的标记API来为成功订阅的用户设置标记。然后在你的广告系列中,确保你有一个标签规则,只发送给那些有这个标签的用户。
在iOS上,我认为应该是:
[[XLappMgr get] addTag: @[@"subscribed"];
Android上的,
XtifySDK.addTag(context, "subscribed")
然后在控制台中实现一个标记规则,仅向具有"已订阅"标记的用户发送。