代码之家  ›  专栏  ›  技术社区  ›  Your Friend Ken

在Flutter应用程序中向源代码管理隐藏Google Maps API密钥

  •  0
  • Your Friend Ken  · 技术社区  · 7 年前

    android/app/src/main/AndroidManifest.xml 对于android,以及 ios/Runner/AppDelegate.m 你的API密钥。

    问题是:

    有没有办法用 .env 文件和 .gitignore

    这里的最佳实践是什么?

    0 回复  |  直到 7 年前
        1
  •  2
  •   Kushal Billaiya    6 年前

    您可以将api键设置为环境变量,这些环境变量只能在本地计算机上生成时读取。创建env variable MAPS_API_KEY=“your KEY here”,然后将这些行添加到

     defaultConfig {
            manifestPlaceholders = [mapsApiKey: "$System.env.MAPS_API_KEY"]
        }
    

    然后可以使用mapsApiKeys在AndroidManifest.xml中传递api密钥

     <meta-data android:name="com.google.android.geo.API_KEY"
                    android:value="${mapsApiKey}"/>
    

    NSString* mapsApiKey = [[NSProcessInfo processInfo] environment[@"MAPS_API_KEY"];
    
    [GMSServices provideAPIKey:mapsApiKey];
    
        2
  •  0
  •   Kolineal    7 年前

    您可以将密钥保存在单独的文件中,并将该文件添加到 .gitignore

    如果有新同事需要开始处理同一项目,则需要与他们共享此文件。从存储库签出项目后,他们将需要将该文件放在与原来相同的目录中。