Branch.io – ContinueActivity不返回正确的ActivityType

我目前正在实施Branch.io到我们的Titanium iOS应用程序。 使用Titanium SDK 6.0的最新4.8 Studio。

到目前为止,一切工作正常,除了当我试图打开应用程序,当它“冷死”,我们没有从创build的活动获取正确的activityType。

使用“continueactivity”的eventlistener,但activityType是:“NSUserActivityTypeBrowsingWeb”,而不是Entitlements.plist文件中指定的那个。

这是我们目前的代码:

var Branch = require("io.branch.sdk"); Branch.addEventListener("bio:initSession", branchInitCallback); // When opened via Branch, when app is "active" Ti.App.iOS.addEventListener("continueactivity", branchContinueActivity); // If opened via Branch, when "hard closed" // Create the Activity incase the app is Super-closed var branchActivity = Ti.App.iOS.createUserActivity( { activityType: 'io.branch.{appname}.universalLink' }); branchActivity.becomeCurrent(); Branch.initSession(); // Branch Callbacks function branchInitCallback(_data) { Ti.API.info("inside onInitSessionFinished"); alert("init: " + JSON.stringify(_data)); console.log(_data); if(_data) { if(_data["+clicked_branch_link"] != undefined && _data["+clicked_branch_link"] == 1) { alert("CLICKED BRANCH LINK"); } } } function branchContinueActivity(e) { Ti.API.info("inside continueactivity: " + JSON.stringify(e)); if (e.activityType === 'io.branch.{appname}.universalLink') { Branch.continueUserActivity(e.activityType, e.webpageURL, e.userInfo); } alert("continue:" + JSON.stringify(e)); console.log(e); var sessionParams = Branch.getLatestReferringParams(); alert("session: " + JSON.stringify(sessionParams)); console.log(sessionParams); } 

这意味着函数“branchContinueActivity”不会触发分支函数“continueUserActivity”。

我们现在补充说:

 <key>NSUserActivityTypes</key> <array> <string>io.branch.{appname}.universalLink</string> </array> 

进入tiapp.xml

我们在这里做错了什么?

来自Branch.io的Alex:没有看到更多的代码,这是很难debugging的。 我们在这里介绍了Titanium SDK文档中关于这种情况的一个解决scheme,还有一个function齐全的Titanium Testbed应用程序可以用作参考。

如果您仍然遇到困难,最好的select是与我们的Integrations团队一起提交一张票,或者在SDK GitHub repo上提出问题,这样我们就可以更轻松地进行debugging。