Branch.io - ContinueActivity未返回正确的ActivityType

时间:2016-11-15 13:26:02

标签: ios titanium appcelerator branch.io

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

到目前为止,一切都运行正常,除了当我尝试打开应用程序时,当它已经冷却了#34;时,我们没有从中获取正确的activityType创建活动。

" eventactivity"的事件发现者使用,但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

我们在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

来自Branch.io的Alex:在没有看到更多代码的情况下,这很难调试。我们在Titanium SDK文档here上涵盖了针对这种情况的解决方案,还有一个功能齐全的Titanium Testbed app,您可以将其用作参考。

如果您仍然遇到困难,最好选择使用Integrations teamSDK GitHub repo上的问题提交一张票,这样我们就可以更轻松地进行调试。