facebook App links 接入

背景:游戏产品需要接入facebook分享,这就要使用到facebook的App links功能,查看官方网站,遇到了一些坑,发现国内很少有人有这方面的介绍,记录下来供后来人使用。

 

首先了解一下:facebook的App links与Deep links不是一个东东,

Deep Link 是facebook专门为广告提供的

参考:https://developers.facebook.com/docs/app-ads/deep-linking/

而App links是我们想在facebook上,分享我们自己的应用,别人点击的时候,如果已经安装跳转到指定页面,没有安装则到下载页面,下面进入正题:

1.App links 分为两个部分:

        1)当已经安装的时候,我们需要让facebook识别我们的scheme,跳转到我们指定的页面。这个配置就让android和ios都支持了,



 //ios的scheme地址,在plist中配置
 //ios的应用商店id
 //ios应用名字
  //android的scheme地址
 //android应用名字
 应用包名
 //web端的,我直接干掉了


Hello, world! //这个不需要,我们想直接跳转

对于android我们需要在一个activity中配置scheme让facebook能找到我们


    ...
    
        
        
        
    

ios则需要在plist中配置:

applinks://docs?al_applink_data=%7B%22user_agent%22%3A%22Bolts%20iOS%201.0.0%22%2C%22target_url%22%3A%22http%3A%5C%2F%5C%2Fexample.com%5C%2Fapplinks%22%2C%22extras%22%3A%7B%22myapp_token%22%3A%22t0kEn%22%7D%7D

参考:https://developers.facebook.com/docs/applinks/metadata-reference/

2)当应用没有安装的时候,我们需要跳转到应用商店,一种比较好的用户体验就是直接配置refresh,这个的含义就是自动跳转到一个员工商店。



 //ios的scheme地址,在plist中配置
 //ios的应用商店id
 //ios应用名字
  //android的scheme地址
 //android应用名字
 应用包名



 //web端的,我直接干掉了


Hello, world! //这个不需要,我们想直接跳转

这种体验很好,当有应用的时候,跳转到指定页面,没有的时候,直接跳转到应用商店,但是问题出现了,android和ios对应两个应用商店,这里只能配置一个,一开始打算通过js判断android和ios来修改refresh的content,但是这种方案不生效。

前端并不是我的专长,所以我想到了折中方案,就是修改location进行二次跳转。

    

这样就实现了我们的需求。

 

接下来就是丰富完善的过程了,

例如:我们需要定制我们分享的内容:(下面这几个配置是让facebook显示我们的指定样式,不至于只显示一个url)

     类型
     显示的名字
     显示的描述
    显示的图片
 

下面我们还想将一些信息传给应用市场,这样就可以知道用户之间的推荐关系了,

 

所以最终的app links配置如下:



    gamecenter
    
    
    
    
    
    
    
    
    
    

    


 

你可能感兴趣的:(Android,疑难杂症)