关于app:app分发平台源码开源应用分发搭建

  配置散发平台
  
  要容许 Android 上的app散发平台应用凭据,services必须在我的项目上启用该插件。这须要批改Android目录中的两个文件。
  
  演示:s.appwin.top
  
  首先,将services插件增加为文件中的依赖项/android/build.gradle:
  

buildscript {
  dependencies {
    // ... other dependencies
    classpath 'com.gms:services:4.3.12'
    // Add me --- /\
  }
}

  最初,通过将以下内容增加到/android/app/build.gradle文件中来执行插件:

  apply plugin: 'com.android.application'
  apply plugin: 'com.gms.services' // <- Add this line

  iOS 设置
  
  为了让 iOS 利用平安地连贯到您的app散发平台我的项目,必须下载配置文件并将其增加到您的我的项目中,并且您必须在 CocoaPods 中启用框架
  
  生成 iOS 凭据
  
  在app散发平台管制台上,增加一个新的 iOS 应用程序并输入您的我的项目详细信息。“iOS 捆绑包 ID”必须与您的本地我的项目捆绑包 ID 匹配。应用 Xcode 关上我的项目时,能够在“惯例”选项卡中找到捆绑 ID。
  
  下载Service-Info.plist文件。
  
  应用 Xcode,关上我的项目/ios/{projectName}.xcodeproj文件(或者/ios/{projectName}.xcworkspace如果应用 Pods)。
  
  右键单击项目名称和“增加文件”到我的项目中,如下所示:
  
  通过 Xcode 增加文件
  
  从您的计算机中抉择下载的GoogleService-Info.plist文件,并确保启用“如果须要,复制我的项目”复选框。
  
  抉择“如果须要,复制我的项目”
  
  应用 iOS 凭据配置散发平台
  
  要容许 iOS 上的app散发平台应用凭据,必须在应用程序的疏导阶段配置app散发平台iOS SDK。
  
  为此,请关上您的/ios/{projectName}/AppDelegate.m文件,并增加以下内容:
  
  在文件顶部,导入app散发平台SDK:
  
    #import <Firebase.h>
  
  在您现有的didFinishLaunchingWithOptions办法中,将以下内容增加到办法的顶部: 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Add me --- \/
  [App configure];
  // Add me --- /\
  // ...
}

  扭转 CocoaPods 以应用框架
  
  从 ios-sdk v9+ (react-native v15+) 开始,您必须通知 CocoaPods 应用框架。
  
  关上文件./ios/Podfile并在指标中增加这一行:
  
  use_frameworks!
  
  要在 iOS 上应用动态框架,您还须要为我的项目手动启用此性能,并在/ios/Podfile文件顶部应用以下全局代码:
  
    $RNFirebaseAsStaticFramework = true
  
  Expo 用户能够应用expo-build-properties来开启use_frameworks. 咱们不确定 Expo 用户如何将变量增加到 Podfile,并且可能须要社区对此处的配置插件做出奉献!
  
  Noteuse_frameworks 与Flipper、Hermes、React Native New Architecture 或 react-native 0.69.0不兼容。曾经有一个可用于 0.69.0 的补丁包补丁,使其能够在有和没有 Hermes 的状况下工作,它将与 0.69.1 一起公布。欢送社区反对以帮忙修复use_frameworks对 Hermes 和 New Architecture 的反对!
  
  4. 主动链接和重建
  
  实现上述步骤后,必须将app散发平台源码库链接到您的我的项目,并且须要从新构建您的应用程序。
  
  React Native 0.60+的用户主动能够拜访“主动链接”,不须要进一步的手动装置步骤。要主动链接包,请重建您的我的项目:

# Android apps
npx react-native run-android

# iOS apps
cd ios/
pod install --repo-update
cd ..
npx react-native run-ios

  胜利链接和重建后,您的应用程序将应用该@react-native/app模块连贯到 Firebase。该模块没有提供太多功能,因而要应用其余app散发平台服务,各个app散发平台服务的每个模块都须要独自装置。
  
  手动链接
  
  如果您应用的是不反对主动链接的旧版本的 React Native,或者心愿集成到现有我的项目中,您能够依照iOS和Android的手动装置步骤进行操作。
  
  各种各样的
  
  Android 启用 Multidex
  
  随着您的应用程序开始随着更多本机依赖项而增长,您的构建可能会开始失败并呈现常见 Execution failed for task ‘:app:mergeDexDebug’谬误。当 Android 达到 64k 办法限度时会产生此谬误。
  
  一种常见的解决方案是为 Android启用 multidex反对。这是解决问题的罕用解决方案,但建议您浏览 Android 文档以理解它可能如何影响您的应用程序。
  
  Hermes反对
  
  要反对Hermes JavaScript 引擎,须要 React Native 0.64.0 或更高版本。然而,咱们不能保障app散发平台源码能够在下面完满运行,所以请认真测试您的我的项目。
  
  笼罩本机 SDK 版本
  
  React Nativeapp散发平台在外部设置每个模块应用的原生 SDK 的版本。该库的每个版本都针对一组固定的 SDK 版本(例如app散发平台SDK)进行了测试,让咱们确信该库反对的每个性能都按预期工作。
  
  有时须要更改这些版本能力很好地与其余 React Native 库配合应用;因而咱们容许手动笼罩这些原生 SDK 版本。
  
  通常不倡议应用您本人的 SDK 版本,因为它可能会导致应用程序产生重大更改。审慎行事。
  
  安卓
  
  在您的我的项目 /android/build.gradle 文件中,通过指定如下所示的任何选项来提供您本人的版本: 

project.ext {
  set('react-native', [
    versions: [
      // Overriding Build/Android SDK Versions
      android : [
        minSdk    : 19,
        targetSdk : 31,
        compileSdk: 31,
        buildTools: "31.0.0"
      ],

      // Overriding Library SDK Versions
      firebase: [
      
        bom           : "30.2.0"
      ],
    ],
  ])
}

  更改后,应用npx react-native run-android.
  
  iOS
  
  关上您的我的项目/ios/Podfile并将上面显示的任何全局变量增加到文件顶部:
  
    $FirebaseSDKVersion = '9.2.0'
  
  更改后,通过 pod install 重新安装您的我的项目 pod 并应用npx react-native run-ios.
  
  减少 Android 构建内存
  
  随着您增加更多app散发平台模块,对 Android 构建零碎的需要十分惊人,默认内存设置将不起作用。为防止OutOfMemory在 Android 构建期间呈现谬误,您应该勾销正文存在于以下地位的备用 Gradle 内存设置/android/gradle.properties: 

  # Specifies the JVM arguments used for the daemon process.
  
  # The setting is particularly useful for tweaking memory settings.
  
  # Default value: -Xmx10248m -XX:MaxPermSize=256m
  
  org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

  安卓性能
  
  在 Android 上,React Nativeapp散发平台应用线程池执行器来提供改良的性能和托管资源。firebase.json为了进步吞吐量,您能够通过我的项目根目录中的文件调整线程池执行器:

// <project-root>/firebase.json
{
  "react-native": {
    "android_task_executor_maximum_pool_size": 10,
    "android_task_executor_keep_alive_seconds": 3
  }
}

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据