我们已经建立了一个应用程序,我们已经发布到Google Play和亚马逊,但是,每个应用程序都有一个独特的包名称(实际上一个是全部小写,另一个有一些上限)。
问题是,我们的Facebook深层链接只能使用包名设置,而且每个应用只能设置一个。我们已被建议使用我们拥有的应用程序链接和Android意图,但我们没有运气。我们可能做错了什么想法?
VIEW操作的当前意图过滤器:
<intent-filter >
<action android:name="action.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="www.amazon.com" android:pathPrefix="/dp/B00TSE6VBQ">
<data android:scheme="amzn" android:host="apps" android:pathPrefix="/android?p=com.playdemic.villagelife.android">
<data android:scheme="amzn" android:host="apps" android:pathPrefix="/android?asin=B00TSE6VBQ">
<data android:scheme="http" android:host="apps.facebook.com" android:pathPrefix="/villagelifegame">
<data android:scheme="https" android:host="apps.facebook.com" android:pathPrefix="/villagelifegame">
</data></data></data></data></data>
</intent-filter>
以下是代码示例:
var publish = function (o) {
if (!isSociallyInitialized()) return false;
debugJSON(o, 'Source Stream Data');
var newsfeedPostId = 200 + parseInt(o.newsfeedPostId, 10);
var ut = getUniqueToken(settings.user.pId);
var link = $.format('{canvasPage}/?action={action}&sid={sid}&sender {sender}&ut={ut}', {
canvasPage: fbSettings.canvasPage,
action: 'stream',
sid: newsfeedPostId,
sender: settings.user.pId,
ut: ut
});
$.extend(o, {
method: 'feed',
picture: $.format('{clientApplicationUrl}assets/graphics/social/newsfeed/{picture}.jpg?v={version}', {
clientApplicationUrl: settings.clientApplicationUrl,
picture: o.picture,
version: settings.applicationVersion
}),
link: link,
actions: [{ name: locale.translation.COLLECT_REWARD, link: link}]
});
debugJSON(o, 'Stream Data');
hideObject();
FB.ui(o, function (response) {
debugJSON(response, 'Share Result');
if (response && response.post_id) {
processStream(o.newsfeedPostId, ut, response.post_id);
}
updateStream({ id: o.newsfeedPostId, status: (response && response.post_id ? true : false) });
showObject();
});
return false;
};