以下选项假定您在任何计划中都创建了 Firebase 项目。如果没有,请查看文档
如果您使用 Cloudflare 进行 DNS 记录管理,请请勿将源 IP 地址代理到您希望使用 动态链接 的域(或子域)您的域,因为 Google 可能不会验证您的域,因为他们不像 GitLab Pages 那样使用 TXT 验证。
-
Set up Firebase Hosting if you haven't done this after project creation。
- 设置好后打开Dynamic Links。
- 不熟悉动态链接?点击开始。否则,请单击添加 URL 前缀。每个项目最多只能添加 5 个 URL 前缀。
如果您将域/子域用于托管或动态链接,则不能再次将其用于动态链接,反之亦然。尝试使用链接前缀(例如,demofirebaseproject.devhubcentral.ml/launchapp/insert-link-suffix-here)或特殊的子域(例如,demofirebaseproject.devhubcentral.ml/insert-link-suffix-here)。
- 会弹出一个设置向导。输入您要使用的域,Google 会根据您输入的内容为您显示建议。明智地选择,然后单击下一步。在我们的示例项目 ID
nomadic-bedrock-257008 中,我在本教程中使用 demofirebaseproject.devhubcentral.ml
- 现在,为要使用的域配置选项。我用于演示项目的路径前缀是
/launchapp,因为 Pins 团队的开发人员希望使用demofirebaseporject.devhubcentral.ml/launchapp 在 Pins 的官方应用程序中启动,但可以肯定的是,这个应用程序很快就会在 App Store 上架。目前,我们将用户重定向到contributors-program.recaptime.tk。准备就绪后,点击下一步。
- 然后,启动您的 DNS 提供商并添加
151.101.1.195 和 151.101.65.195 作为您使用的域/子域的 A 记录。在我们的演示项目中,我使用 Cloudflare 来管理 devhubcentral.ml 的 DNS 记录,因此我需要将 Proxy Status 更改为 DNS Only 以进行所有权检查。 See the screenshot 看看我是如何配置它的。完成后,点击完成并创建您的第一个动态链接。
DNS 传播通常需要 24 小时或更长时间,但一些 DNS 提供商/域注册商会更快地传播 DNS 记录。
-
仅适用于 iOS:在您的 Xcode 项目中打开
Info.plist 文件并添加以下代码。将示例字符串替换为适合您项目的字符串,并根据需要添加更多字符串。
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
<string>demofirebaseproject.devhubcentral.ml/launchapp</string>
</array>
每个 Firebase 项目最多可添加 10 个前缀。如果您需要更多,请删除您不使用的前缀。
选项 2:在您的调试应用中尝试(并分享给您的其他开发人员进行测试)
- 打开您的 Firebase 项目概览和 Xcode 项目。
- 点击加号图标,然后选择一个 iOS 图标。
- 注册您应用的基本信息。
- 将
GoogleService-Info.plist 文件下载到您的Xcode 项目根文件夹中。
- 打开终端,如果没有 Podfile,请使用
pod init。编辑它以添加以下内容。保存它然后运行pod install 为您的项目生成.xcworkspace。将此文件用于您的应用程序的所有未来开发。
# add the Firebase pod for Google Analytics
pod 'Firebase/Analytics'
# add pods for any other desired Firebase products
# https://firebase.google.com/docs/ios/setup#available-pods
- 使用下面的 Swift 代码将初始化代码添加到您的应用代码库中。
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
return true
}
}
有 Objective-C 项目吗?也许改用这段代码
@import UIKit;
@import Firebase;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];
return YES;
}
- 运行您的应用程序以验证安装。如果您还没有项目,请跳过此步骤,稍后再试。
- 尝试上面的选项 1,但这次,我们将使用您的 iOS 应用程序来完成此选项。
选项 3:将您的生产就绪应用发布到 App Store
如果您不遵守许可协议或无法支付年度会员费,请不要继续
警告:只有在生产就绪时才将您的应用发布到 App Store。如果还没有,请先尝试部署到TestFlight。
建议使用此选项,但您需要拥有受 2 因素身份验证保护的 Apple ID,并且:
- 如果以个人身份注册,请提供有关您自己的基本个人信息
- 如果注册为组织,则需要:
- 贵组织的 D-U-N-S 号码(D-U-N-S 号码的新用户?请参阅 this help center article 以开始使用)
- 具有法人实体身份(不适用于 DBA、虚构企业、商号或分支机构)
- 注册贵组织的人必须具有填写和签署与 Apple 和其他公司的协议的法定权力。
- 与您的组织关联的公开可见网站
- 准备 99 美元(或转换后您所在国家/地区的当地等值货币)作为年度会员费。
有关注册 Apple Developer Program 的常见问题解答,请参阅https://developer.apple.com/support/enrollment。要开始,请访问enrollment page,在完成合规性检查后(我的意思是当您满足上述要求时)点击开始您的注册,登录您的 Apple ID 并开始填写文书工作。
重要提示:如果以个人身份注册,请先与您组织的法律部门或您的律师一起阅读license agreement。你不仅要阅读它,还要理解它。
当您的应用发布后,添加您的应用并照常进行配置。
疑难解答链接在 Safari 中不起作用
快速说明:就像在this answer 中一样,您需要将此代码添加到您的配置文件中,如下所示:
{"applinks": {
"apps":[],
"details":[{
"appID":"495878282985.madebythepinsteam.publicofficialapp", // Change it with your Apple Store ID.
"paths":["NOT /_/*","/*"]}
]}
}
如果上面的代码有错误,请随时测试和编辑。