Android Deeplink,Facebook 广告deeplink配置与测试

先对DepplLink做下简单的介绍:Android和ios都有一种叫做deeplink的功能,简单讲他就像一个判断,当你运行或者点击了唤起deeplink功能的某个控件,然后唤起了deeplink监听事件,它就会开始运行,检查你手机本地有没有安装你指定的某个包名的应用,如果有就唤起你指定的这个应用的某个页面,如果手机本地没有安装,就跳转到你指定的应用商店,提示用户进行下载的操作。Deeplink是目前使用广告跟踪非常热门的一种方式,像Facebook的广告,就是以这种方式实现把广告流量,应用安装转化率绑定到一起的,而且能对应用和广告进行深度追踪。所以,我的任务也来了,哈哈,果不其然,很快就收到下了这项任务:

3、接入FB deeplink功能,区分自然量和广告量,相关内容可查询谷歌;
4、广告量进入应用强制付费,自然量广告弹出机制原计划不变;

哈哈,是不是苦笑不得,说曹操曹操就到了,我只想说,如果我能说财神爷到他就真到了,那我岂不是要开心死了,嘿嘿,别做梦了!开干吧,搂其键盘就开始Google 这个fb deeplink的鬼东西了,其实说实话,第一次做Facebook的AD DeepLink ,头脑里真的是空白加懵懵的~
不过经过一番查询学习,很快找到了Android deeplink的用法与原则,下面开始我的流程:
先附上Facebook的deeplink官方文档地址:https://developers.facebook.com/docs/app-ads/deep-linking#step-by-step
谷歌app deeplink官方教程:https://developer.android.com/training/app-indexing/deep-linking.html
仔细看过后就能明白具体的配置和操作步骤基本,这里我贴下我的配置过程:

首先在你的Android应用的清单文件AndroidManifest.xml中,在你想作为深度链接要跳转的一个activity的中做如下配置,配置的注意事项都已经做了注释说明,这里不再细节赘述:

    android:name="com.wj.app.MainActivity"
            android:screenOrientation="portrait"
            android:theme="@style/AppThemeTwo">
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="wjapp"
                    android:host="he.com"
                    android:pathPrefix="/lunch"/>
               
            </intent-filter>
			<!--intent-filter配置注意事项-->
            <!--首先说明一点:如果你添加<intent-filter>的Activity不包含android.intent.action.MAIN的<action>标签,就无需配置多个intent-filter。也就是下面注释说明的内容-->
            <!--在有<action android:name="android.intent.action.MAIN" />的<intent-filter>中添加<data>标签配置会无法通过Deeplink正确打开指定的页面。一个Activity是允许有多个<intent-filter>标签,所以另外再创建一个<intent-filter>标签进行配置即可;-->
            <!--<category android:name="android.intent.category.LAUNCHER" />和<category android:name="android.intent.category.DEFAULT" />两个是相互冲突的,同时添加这两个category在一个intent-filter标签中会导致桌面图标无法显示的问题;-->

        </activity>

做deeplink的效果测试,如果你不要求太多,只想实现在手机网页里面点击就可以判断是否安装,跳转打开还是到应用商店下载的功能,用下面的网页测试就可以:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>App Link</title>
<meta property="al:android:url" content="wjapp://he.com/lunch">
<meta property="al:android:package" content="com.jdz.wsbn">
<meta property="al:android:app_name" content="名师指路">
<meta property="al:web:should_fallback" content="false">
<meta http-equiv="refresh" content="0;url=http://sj.qq.com/myapp/detail.htm?apkName=com.jdz.wsbn">

</head>
<body>判断中,请稍等...

 <input type="button" value="点击我打开Deeplink" onclick="javascrtpt:window.location.href='wjapp://he.com/lunch'">
</body>
</html>

如果是Facebook Ad 测试deeplink的话就得按照我下面介绍的步骤做了,知道步骤的话一点也不难,但是你不知道的时候摸索起路子来真的很吃力!下面分享下我找到的测试方法,其实我也算找的老司机指路才少走了好多弯路的,下面干货走起:
首先你需要把你的Facebook账号添加为你所作项目的开发者人员身份,测试人员不行的,没有查看到应用的权限,没有这个权限你就不能选择应用进行广告deeplink广告测试(我就是在这里吃过亏,产品经理一直说没问题的,测试人员有权限看到,一直以为是我这边没做好,结果更换为开发者身份后,马上可以看到公司的项目了)
测试广告的第一步:打开这个应用广告帮手页面:https://developers.facebook.com/tools/app-ads-helper/?id=2069693629938832
这里写图片描述
第二步:点击选择应用,选中你的应用,然后确认,再往下滑动网页会看到下面界面:
这里写图片描述
第三步:点击测试深度链接按钮,在弹出的窗口中填写相应参数信息,发送测试链接:
这里写图片描述
第四步:从手机端点击进入测试效果:
这里写图片描述
第五步:选择选项,就是你自己做一些哪些是通过点击deeplink跳转进来的用户进行统计,也就是记录属于广告量的跳转:
在你的application中onCreate()生命周期方法中添加如下代码

//为安装后接收深度链接,你的应用需要在启动时调用 Facebook SDK 方式中的 ,AppLinkData.fetchDeferredAppLinkData 。 
        AppLinkData.fetchDeferredAppLinkData(this, AppLinkData.CompletionHandler(){})

在你deeplink设置跳转的activity中创建如下方法进行判断:

private fun testFbDeepLink() {
        FacebookSdk.sdkInitialize(this)
        val targetUrl = AppLinks.getTargetUrlFromInboundIntent(this, intent)
        if (targetUrl != null) {
            Log.e("MainActivity---", "App Link Target URL: " + targetUrl!!.toString())
            if(targetUrl!!.toString() == "wjapp://he.com/lunch"){
              //做你记录的操作,这里添加判断是为了区分在多个deeplink广告点击设置的时候,进行区分是哪个deeplink跳转过来的
            }
        }
    }

最后在activity的onCreate()生命周期方法中调用该方法:

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // deepLink test
        testFbDeepLink()

    }

好了,到这一步就ok了,本人的集成经验总结,若有不到之处或者错误之处,欢迎留言指正,友好谦虚的交流学习是我们永远的提升指路,小弟一定不胜感激!谢谢!!!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
Android Deeplink是指通过URL链接直接跳转到应用程序中的特定页面的功能。下面是Android Deeplink的流程: 1. 配置Deeplink 首先,需要在应用程序的AndroidManifest.xml文件中定义Deeplink。在intent-filter标签中添加一个action和一个category,并制定一个data元素,来指定Deeplink的URI。 例如,以下代码片段指定了一个Deeplink,当用户点击链接“example://detail/123”时,应用程序将打开一个详情页面: ``` <activity android:name=".DetailActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="example" android:host="detail" android:pathPrefix="/123" /> </intent-filter> </activity> ``` 2. 处理Deeplink 当用户点击Deeplink时,Android系统将启动应用程序,并将URI传递给应用程序的onCreate()方法。应用程序可以通过使用以下代码来获取URI: ``` Uri uri = getIntent().getData(); ``` 然后,应用程序可以解析URI,并根据需要执行操作。例如,如果URI包含标识符,则应用程序可能会打开对应的页面或执行相应的操作。 3. 测试Deeplink 最后,可以测试Deeplink是否正常工作。可以使用adb shell命令来模拟Deeplink: ``` adb shell am start -a android.intent.action.VIEW -d "example://detail/123" ``` 这将模拟用户点击链接“example://detail/123”,并启动应用程序。如果一切正常,应用程序应该会打开一个详情页面。 总的来说,Android Deeplink是一个非常有用的功能,可以帮助应用程序提高用户体验和功能。在实现Deeplink时,需要注意URI的格式和参数的解析,以确保Deeplink正常工作。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值