在Facebook Messenger中无法正确预览创建的firebase动态短链接.它按预期显示消息和链接,并显示带有url的预览图像.
如果单击预览,则消息中包含的URL正在工作,但不是URL.
网址应为:https://q3zbm.app.goo.gl/8f7b 但预览链接为 https://q3zbm.app.goo.gl/s?socialDescription=Welcome&socialImageUrl=http://andreasandersson.nu/images /awesome-photo.jpg&socialTitle=Gooo
我能够在一个非常小的程序中重现这一点
private void generate() {
DynamicLink.SocialMetaTagParameters.Builder params = new DynamicLink.SocialMetaTagParameters.Builder();
params.setImageUrl(Uri.parse("http://andreasandersson.nu/images/awesome-photo.jpg"));
params.setDescription("Welcome");
params.setTitle("Gooo");
FirebaseDynamicLinks.getInstance()
.createDynamicLink()
.setLink(Uri.parse("http://andreasandersson.nu"))
.setDynamicLinkDomain("q3zbm.app.goo.gl")
.setIosParameters(new DynamicLink.IosParameters.Builder("ios.app.example").build())
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
//.setSocialMetaTagParameters(params.build())
.buildShortDynamicLink(SHORT)
.addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.putExtra(Intent.EXTRA_TEXT, "check this:" + shortLink.toString());
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent, "share"));
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
我知道应用程序值不正确但输入正确的值不会给结果带来任何差异.
这是firebase动态链接上的错误还是facebook messenger的问题?当从ios完全相同的事情它是按预期工作,这应该意味着这是与分享者的Android相关问题?
更新:感谢您联系FIrebase支持.这是我们已经向他们提出的Facebook问题.截至目前,我们尚未听到他们的任何更新,但一旦我们这样做,我们会通知您.
在 Android 应用程序中,我将 Bundle 从 Activity 发送到 Fragment。
public class Bar implements Parcelable {
private Map<String, String> hash;
private int id;
protected Bar(Parcel in) {
id = in.readInt();
}
public Bar(int id, Map<String,String> map){
this.hash=map;
this.id=id;
}
public static final Creator<Bar> CREATOR = new Creator<Bar>() {
@Override
public Bar createFromParcel(Parcel in) {
return new Bar(in);
}
@Override
public Bar[] newArray(int size) {
return new Bar[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, …
Run Code Online (Sandbox Code Playgroud) 在将应用程序上传到 Google Play 之前,我使用 Firebase 测试实验室对其进行了测试。
从屏幕截图和视频来看,看起来就像真实的广告是从 admob 显示然后点击的。
现在我知道您可以设置测试设备来显示测试广告,但我找不到 firebase 测试设备的任何 id,或者我可以在代码中以某种方式识别这是一个机器人测试,以便我可以阻止真正的广告吗?
另外我想知道谷歌播放预发布报告测试是否也有同样的问题?