秦皇岛网站制作价格,手机网站建设 苏州,徐州网络推广服务,做个公司网站要多少钱facebook分享链接跳转app
##技术点分析
1、运用Android的深度链接技术实现。 安卓深度链接#xff1a; https://developer.android.com/training/app-links/deep-linking 在安卓工程中的AndroidMainfest.xml配置#xff0c;添加自定义的scheme#xff0c;需要将intent-fil…
facebook分享链接跳转app
##技术点分析
1、运用Android的深度链接技术实现。 安卓深度链接 https://developer.android.com/training/app-links/deep-linking 在安卓工程中的AndroidMainfest.xml配置添加自定义的scheme需要将intent-filter添加到启动Activity中 activityandroid:namecom.facebook.CustomTabActivityandroid:exportedtrueintent-filteraction android:nameandroid.intent.action.VIEW /category android:nameandroid.intent.category.DEFAULT /category android:nameandroid.intent.category.BROWSABLE /!--data android:scheme随便填 android:host随便填/--!--例如--data android:schememyapp android:hosttest//intent-filter/activity传递参数获取需要在安卓层编写代码在启动activity的onCreate中调用如下方法
private void handleIntent(Intent intent) {Uri data intent null ? null : intent.getData();Bundle bundle AppLinks.getAppLinkData(getIntent());String targetUrl null;if (bundle ! null){targetUrl bundle.getString(target_url);if (targetUrl ! null targetUrl.length() 0){data Uri.parse(targetUrl);}}if (data ! null) {// deeplink 链接以此为例gamedeeplink://app?key1value1key2value2// 完整链接String url data.toString();// scheme: gamedeeplinkString scheme data.getScheme();// host: appString host data.getHost();Log.i(Tag, handleDeepLink handleIntent url.toString() scheme host);// Uri 类的详细介绍请参考官方文档https://developer.android.com/reference/android/net/Uri}
}可以写一个简单的网页测试一下html prefixog: http://ogp.me/ns#
bodya hrefmyapp://test/test/a
/body
/html2、通过FaceBook的网页链接跳转技术。
通过官方提供的applink技术实现
官方链接https://developers.facebook.com/docs/applinks需要修改网页的代码这样子在facebook中点击连接时如果已经安装了应用则能直接打开应用未安装时打开网页并跳转到安装界面例如谷歌应用商店html
html prefixog: http://ogp.me/ns#
headmeta http-equivContent-Type contenttext/html; charsetUTF-8meta propertyog:image content显示的图片路径 /!-- meta propertyog:url content重定向网页 / --meta propertyog:type contentwebsite /meta propertyog:title content标题 /meta propertyog:description content描述 /meta nameviewport contentwidthdevice-width, initial-scale1scriptfunction getParamsVariable(){var query window.location.search.substring(1);if (query query.length 0){return query}return(false)}//可以编写脚本来进行参数传递var paramsStr getParamsVariable()var androidOpenUrl https://play.google.com/store/apps/details?idappidif (paramsStr) {androidOpenUrl androidOpenUrl paramsStr}//在body的onload方法中调用页面加载完成后触发function startHref(){console.log(androidOpenUrlandroidOpenUrl)location.href androidOpenUrl}/script
/head
body onloadstartHref()
/body
/html这里会有个问题在跳转至谷歌商店的安装界面时是无法传递参数的解决办法看第三点3、谷歌广告归因技术实现安装参数传递谷歌广告归因技术链接https://developers.google.com/analytics/devguides/collection/android/v4/campaigns?hlzh-cn#google-play-url-builder这个api可以获取从play store下载的来源渠道这里可以自定义例如 邀请功能等就很好使用了。
测试的时候可以上传包到封闭式测试然后点链接再下载包打开
配合play的地址 添加referrer 字段 例如连接参数参考下图该图来自上面的官方链接referrerUrltm_sourcegooglegogleutm_mediumcpcutm_campaignad-campainsutm-ternutm_contentinviteSource12334234 https://play.google.com/store/apps/details?idcom.example.applicationreferrerutm_source%3Dgoogle%26utm_medium%3Dcpc%26utm_content%3Dtest%253D123%26anid%3Dadmob请注意生成的链接必须使用URL编码来确保正确传递参数。上面示例链接中的referrer参数后面的值使用了URL编码%3D表示%26表示。在自己的代码中也要对参数进行URL编码或解码处理以确保正确解析参数值.
以下是一个基于JavaScript的函数用于生成最终的链接
function generatePlayStoreUrl(params) {// 遍历参数对象将每个参数以keyvalue形式添加到链接中let paramsStr for (let key in params) {if (params.hasOwnProperty(key)) {paramsStr ${key}${encodeURIComponent(params[key])};}}// 删除最后一个多余的符号playStoreUrl playStoreUrl.slice(0, -1);//把所有的跟都换成URL编码let encodedString paramsStr.replace(//g, %3D).replace(//g, %26);return encodedString;
}安卓端也需要配置
Play Install Referrer技术https://developer.android.google.cn/google/play/installreferrer/library?hlzh-cn#java里面的referrerUrl值就是链接中referrer后面的参数获取输出显示如下图
2023-07-13-invite.png把安卓端获取到的数据进行解析就能在安装时进行传参了。文档参考https://www.jianshu.com/p/c54bd3df2f4e