我正在实现一个购物应用程序。当一个产品被共享时,它应该发送一个动态链接,这样当一个人点击它时,只在应用程序中打开。最后我实现了这个功能。但是当我从共享动态链接打开应用程序时我正在获取主页而不是产品页面。我需要有关获取特定产品页面而不是打开购物主页的帮助。我在这里包括代码。AndroidManifest.xml
<activity android:name=".Postdetails">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="MainActivity" />
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="postdetailsnew.com" android:scheme="https"
android:pathPattern=".*"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
PostDetails.java 这里的 PostDetails 页面是单个产品设计页面或活动。在此我编写了以下代码。
sharebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s="https://app_code.app.goo.gl/?link="+ProductLinkInBrowser+"&apn=com.example.maneesh.shop";
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, s);
sendIntent.setType("text/plain");
startActivity(sendIntent);
}
}
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent())
.addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
@Override
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) { …Run Code Online (Sandbox Code Playgroud) android firebase firebase-dynamic-links firebase-app-indexing
在我的firebase帐户中,我手动创建动态链接,我在我的应用程序中获得了动态链接,但问题是我需要使用核心php随机创建动态链接.
我试过以下步骤
1步:转到Firebase控制台帐户
2步骤:选择应用程序,然后在增长>动态链接>新动态链接下
在这里我可以手动创建,但无法使用核心php创建.
面临从 firebase 动态链接生成 ShortURL 的一些问题,我能够获得 longDynamicLink url 。但
这是我的代码,我正在使用https://firebase.google.com/docs/dynamic-links/ios/create以下步骤 DynamicLinkComponents.shortenURL 完成未收到调用,也没有错误
guard let longDynamicLink = linkBuilder.url else { return "test" }
print("The long URL is: \(longDynamicLink)")
DynamicLinkComponents.shortenURL(longDynamicLink, options: nil) { url, warnings, error in
guard let url = url, error != nil else { return }
print("The short URL is: \(url)")
}
Run Code Online (Sandbox Code Playgroud)
DynamicLinkComponents.shortenURL 这部分不执行
如果您直接从动态链接启动您的应用程序(并假设您的应用程序尚未在后台运行),则不会调用 application:continueUserActivity。
过去,我们曾经依赖于 application:didFinishLaunchingWithOptions 但是从 iOS13 和 Xcode 9 开始,这不再起作用了。现在,当您从 dynamicLink 启动应用程序时,launchOptions 为零,因此不再起作用(此解决方案不再起作用的示例如下:https : //stackoverflow.com/a/46722785/6553577)
有谁知道如何处理这个问题?(感谢您的答复)
我正在尝试使用 REST API 在 firebase 中生成动态链接。我在文档的以下页面上尝试了以下说明:https : //firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters
我提前为错误的格式道歉,但我的请求看起来像这样:
发布https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=
带标题:
内容类型:应用程序/json
与身体:
{
"dynamicLinkInfo":{
"domainUriPrefix":"https://<myDomain>.page.link/",
"link":"https://www.google.com/",
"androidInfo":{
"androidPackageName":"com.<companyName>.<appname>"
}
}
}Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
{
"error": {
"code": 400,
"message": "Invalid Dynamic Link domain: '' or Domain Uri Prefix: 'https://<myDomain>.page.link/'. Expecting exactly one. Dynamic Link Domain isPresent = false, Domain URI prefix isPresent = false, [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]",
"status": "INVALID_ARGUMENT"
}
}Run Code Online (Sandbox Code Playgroud)
我的 firebase 项目有一个在项目中注册的 .page.link 域。在 firebase 项目的动态链接部分,它确实出现了。我已经测试过在 firebase 控制台中创建链接,我什至能够使用 react-native-firebase 包手动制作动态短链接,所以我很确定我的项目没有问题。
我已将我的 iOS 应用程序从一位开发人员转移到另一位开发人员。然后在新帐户首次发布后,我的深层链接意外停止工作。
使用我自己托管的 url 上的通用链接和 firebase 动态链接实现的深层链接。
我正在使用 firebase 动态链接,我使用他们的 REST api 来创建动态链接。我可以使用 REST api 创建短链接,并且创建的链接在 android 和 ios 应用程序以及移动浏览器上运行良好。但我在桌面浏览器上使用了相同的链接,它没有重定向到播放商店页面。Firebase 提供了“ofl”作为参数来提供我想要的功能,但没有文档说明如何在请求正文中传递该参数。谁能帮我吗 ?
{
"dynamicLinkInfo": {
"domainUriPrefix": "my_custome_domain_name",
"link": "my_dynamic_link",
"androidInfo": {
"androidPackageName": "my_package_name",
"androidFallbackLink": "https://play.google.com/store/apps/details?id=my_package_name",
"androidMinPackageVersionCode": "2"
}
"navigationInfo": {
"enableForcedRedirect": true,
}
},
"suffix": {
"option":"UNGUESSABLE"
}
}
Run Code Online (Sandbox Code Playgroud) 我已完成 Firebase 动态链接的设置并解决了调试 ( ?d=1) 中的所有错误。但有一个警告我无法解决。
Run Code Online (Sandbox Code Playgroud)The dynamic link has 1 warning(s) Android app 'my.old_and_deleted.package_name' lacks SHA256. AppLinks is not enabled for the app. Learn more.
现在我无法解决该错误,因为这是 Firebase 错误。具有该包名称的 Android 应用程序不久前已被删除。Firebase 控制台中没有应用程序的痕迹,甚至在google-services.json. 现在,每当我尝试调试动态链接时,我都会遇到相同的错误。
2年前有人问过类似的问题,但没有答案。
但无法得到答案。如何删除错误/警告?
我已将其集成Firebase DeepLink/DynamicLinks/UniversalLink到我们的应用程序中。当app is running或 处于, 时background/foreground state,Deep Links工作没有问题。但是,当应用程序处于not running或处于killed/terminated状态时,应用程序将启动,但不会调用或初始化任何触发方法。就像它只触发URL Scheme. 因此,结果,我无法获取所单击的深层链接的数据,这是一个大问题。
IndidFinishLaunchingWithOptions: launchOptions始终为零,因此launchOptions[.url]为零
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
Run Code Online (Sandbox Code Playgroud)
并且open url:options:不触发
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
Run Code Online (Sandbox Code Playgroud)
当然这个continue userActivity:restorationHandler:不会触发
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool
Run Code Online (Sandbox Code Playgroud)
因此,我只能启动该应用程序而没有捕获任何数据。任何解决方法或建议表示赞赏。谢谢!
我使用 Firebase 控制台创建了多个带有 UTM 参数的动态链接。然而,utmParameters田野始终是空的。
当intent收到 UTM 参数时,UTM 参数已被剥离。我们希望使用这些参数在应用程序中进行额外的跟踪和决策。
你知道这里可能出了什么问题吗?谢谢
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Firebase.dynamicLinks
.getDynamicLink(intent)
.addOnSuccessListener(this) { pendingDynamicLinkData ->
var deepLink: Uri? = null
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.link
Timber.tag("XXX").d("UTM :${pendingDynamicLinkData.utmParameters}")
}
}
.addOnFailureListener(this) { e -> Timber.e(e, "Failed to process Dynamic Link") }
}
Run Code Online (Sandbox Code Playgroud) android event-tracking firebase-analytics firebase-dynamic-links