gpt4 book ai didi

ios - 在 Ionic 4 的应用程序中打开 facebook 链接在 iOS 中不工作(在 Android 中工作)

转载 作者:行者123 更新时间:2023-11-29 05:30:22 25 4
gpt4 key购买 nike

附加的代码在 Android 上的 facebook 和 instagram 以及 iOS 上的 Instagram 上运行良好,但当它在 iOS 上打开 facebook 应用程序时,它只会打开我的提要,而不是预期的链接位置。

有什么想法为什么这不起作用吗?我需要更改以下内容吗?

我使用下面的代码生成并打开此链接:

fb://facewebmodal/f?href=https://www.facebook.com/AtlasQueenstown

编辑:我也试过:

fb://profile/AtlasQueenstown
fb://page/AtlasQueenstown

模板:

<p *ngIf="partner.deal.link" class="deal-link-text" 
(click)="openAppUrl('facebook', 'AtlasQueenstown')">CHECK OUT {{partner.name}}</p>

TS:

openAppUrl(app: string, name: string) {
switch (app) {
case 'facebook':
this.launchApp('fb://', 'com.facebook.katana', 'fb://facewebmodal/f?href=https://www.facebook.com/' + name, 'https://www.facebook.com/' + name);
break;
case 'instagram':
this.launchApp('instagram://', 'com.instagram.android', 'instagram://user?username=' + name, 'https://www.instagram.com/' + name);
break;
case 'twitter':
this.launchApp('twitter://', 'com.twitter.android', 'twitter://user?screen_name=' + name, 'https://twitter.com/' + name);
break;
default:
break;
}
}

private launchApp(iosApp: string, androidApp: string, appUrl: string, webUrl: string) {
let app: string;
// check if the platform is ios or android, else open the web url
if (this.platform.is('ios')) {
app = iosApp;
} else if (this.platform.is('android')) {
app = androidApp;
} else {
const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');
return;
}
this.appAvailability.check(app).then(
() => {
// success callback, the app exists and we can open it
console.log('success');
console.log(appUrl);
const browser: InAppBrowserObject = this.inAppBrowser.create(appUrl, '_system');
},
() => {
console.log('fail');
console.log(webUrl);
// error callback, the app does not exist, open regular web url instead
const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');
}
);
}

信息.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
<string>fb</string>
<string>fbapi</string>
<string>fbauth2</string>
</array>

最佳答案

让它工作,不要使用名称而使用 ID。你可以在这里得到这个: https://findmyfbid.com/

安卓:

fb://profile/' + id

iOS:

fb://page/' + id


openAppUrl(app: string, name: string, id?: string) {
switch (app) {
case 'facebook':
this.launchApp(
'fb://', 'com.facebook.katana',
'fb://profile/' + id,
'fb://page/' + id,
'https://www.facebook.com/' + name);
break;
case 'instagram':
this.launchApp(
'instagram://',
'com.instagram.android',
'instagram://user?username=' + name,
'instagram://user?username=' + name,
'https://www.instagram.com/' + name);
break;
case 'twitter':
this.launchApp(
'twitter://', 'com.twitter.android',
'twitter://user?screen_name=' + name,
'twitter://user?screen_name=' + name,
'https://twitter.com/' + name);
break;
default:
break;
}
}

private launchApp(iosApp: string, androidApp: string, appUrlIOS: string, appUrlAndroid: string, webUrl: string) {
let app: string;
let appUrl: string;
// check if the platform is ios or android, else open the web url
if (this.platform.is('ios')) {
app = iosApp;
appUrl = appUrlIOS;
} else if (this.platform.is('android')) {
app = androidApp;
appUrl = appUrlAndroid;
} else {
const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');
return;
}
this.appAvailability.check(app).then(
() => {
// success callback, the app exists and we can open it
const browser: InAppBrowserObject = this.inAppBrowser.create(appUrl, '_system');
},
() => {
// error callback, the app does not exist, open regular web url instead
const browser: InAppBrowserObject = this.inAppBrowser.create(webUrl, '_system');
}
);
}

关于ios - 在 Ionic 4 的应用程序中打开 facebook 链接在 iOS 中不工作(在 Android 中工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com