Quantcast
Viewing latest article 3
Browse Latest Browse All 28

Facebook App Invite

Facebook有邀请与分享功能,支持在应用内将改应用推荐给Facebook好友,加以小奖励,该功能将会给应用带来可观的新用户。
之前我们游戏接入了分享和邀请,分享没有什么问题,只是在测试邀请的时候遇到一些坑,这里记录下来。

接入流程

  1. 按照 https://developers.facebook.com/docs/app-invites 里配置 Android/IOS
  2. Facebook App后台配置 Android/IOS
  3. 配置App Link
  4. Supporting incoming links

下面所有Facebook 后台链接中都是使用我自己的AppId1589998251253231,注意要换成你们自己的。

Facebook App后台添加平台 Android/IOS

https://developers.facebook.com/apps/1589998251253231/settings/

注意点:
IOS平台必须需要配置iPhone/iPad Store ID才能收到邀请。
测试时可以使用任意未被Facebook注册的Apple Store ID,等正式上线了再换成正式的ID。

We were unable to retrieve your iPad Store ID from the iTunes App Store. Please double-check your ID and try again later.
从 App Store 调用 iPhone Store ID 时出错,请检查编号并重试。

上面的错误表示使用的Apple Store ID已经在Facebook注册过了。
这里要吐槽下Facebook关于App Invite的问题,竟然没有任何地方写明必须要设置iPhone/iPad Store ID用户才能收到邀请,然而被邀请者去下载ID跟这里却没有关系。

配置App Link

https://developers.facebook.com/quickstarts/1589998251253231/?platform=app-links-host

注意该工具生成App Link后,可以在以后修改该link的内容,之前不知道可以修改,每次修改后更换链接,麻烦了好一阵。
从下面的链接中找到相应的App Link ID,然后写入Modify an existing App Link URL?选项中,点击 Edit 按钮就可以修改已存在的链接了。
已生成的App Link从这里查看:https://developers.facebook.com/tools/applinkshost/

重要的配置:
IOS Data:

URL with custom scheme
(可选) 推荐设置,用于通过邀请链接直接跳转到应用,强烈建议设置,例如 comlitefeelmyapp://

App Name
(可选) 设置了也无效,会使用APP后台设置的应用名

App Store ID
(可选) 推荐设置,如果被邀请者设备中没有未安装应用,将到AppStore下载该ID的应用。
该ID可与APP后台设置的不同。
如果有应用接受上面的custom scheme,则表示已安装应用。

Android Data:

URL
(可选) 强烈推荐设置,用于通过邀请链接直接跳转到应用,例如 com.litefeel.myapp://

App Name
(可选) 设置了也无效,会使用APP后台的应用名(在语言设置里)

Package Name
(必写) 用于从Google Play下载应用,类似App Store ID.

Supporting incoming links

从浏览器跳转到应用,用于被邀请者在邀请信息界面直接打开应用。
如果仅仅是被邀请者打开应用,那么直需参照下面的配置就好,不需要写任何代码。
如果需要对链接进行相应的处理参见App Link的IOS/Android实现部分:https://developers.facebook.com/docs/applinks

IOS配置:
在Info.plist中添加下面的配置。
注意将comlitefeelmyapp替换成App Link中的URL

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>comlitefeelmyapp</string>
        </array>
    </dict>
</array>

Andorid配置:
在AndroidManifast.xml文件的主Activity中添加下面的配置。
注意将com.litefeel.myapp替换成App Link 中的URL

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs "com.litefeel.myapp://" -->
    <data android:scheme="com.litefeel.myapp" />
</intent-filter>

最后

测试的时候如果Facebook中有记录该用户已经登录过该应用,那么将不再收到邀请通知,可以使用Test Users来测试(不是Tester)。
Test User是虚拟用户,只能跟Test User交互,不能跟真实用户交互。添加2个Test User,互加好友后就能测试邀请了。

界面截图

Image may be NSFW.
Clik here to view.
invite notifaction 1

Image may be NSFW.
Clik here to view.
invite notifaction 2

添加评论


Copyright © 2009-2015 LiteFeel. All rights reserved.
www.litefeelcom | Host on Linode VPS

Viewing latest article 3
Browse Latest Browse All 28