专家,
出于安全原因,我们决定不使用google-services.json并手动设置FirebaseApp DEFAULT参数。我正在关注博文here。我们使用的是firebase sdk版本10.2.6。
虽然我能够成功设置FirebaseApp DEFAULT参数,但仍会收到错误消息: 缺少google_app_id。 Firebase Analytics已停用。
正如您从下面的代码中看到的那样,我在设置它之后检查API密钥,因此看起来部分是正确的。
任何想法都非常感谢!
在我的AndroidManifest.xml中:
<header>
<div class="navbar-fixed">
<!-- Dropdown Structure -->
<ul id="dropdown1" class="dropdown-content">
<li><a href="#!">User Profile</a></li>
<li><a href="#!">Settings</a></li>
<li class="divider"></li>
<li><a href="#!">Logout</a></li>
</ul>
<div class="nav-wrapper">
<nav class="light-blue lighten-1" role="navigation">
<div class="nav-wrapper container">
<a href="#!" class="brand-logo">Point of Sale</a>
<ul class="right hide-on-med-and-down">
<!-- Dropdown Trigger -->
<li><a class="dropdown-button" href="#!" data-activates="dropdown1">Profile<i class="material-icons right">arrow_drop_down</i></a></li>
</ul>
</div>
</nav>
</div>
</div>
</header>
<aside>
<ul id="slide-out" class="side-nav fixed">
<li><a href="#!">First Sidebar Link</a></li>
<li><a href="#!">Second Sidebar Link</a></li>
</ul>
</aside>
我的自定义内容提供商:
<provider
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="${applicationId}.firebaseinitprovider"
tools:node="remove"
/>
<provider
android:name="com.company.myapp.CustomFirebaseInitProvider"
android:authorities="${applicationId}.firebaseinitprovider"
/>
答案 0 :(得分:0)
这是一种似乎有效的解决方法。
在strings.xml中,定义您将在运行时替换的firebase / google键的一些占位符值。这样,您就可以通过“缺少google_api_id”错误。但是,google_app_id值必须有效。
<!-- Placeholder Values for Firebase. Will be replaced by decrypted keys at runtime -->
<string name="google_app_id">valid_app_id</string>
<string name="google_api_key">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>
<string name="google_crash_reporting_api_key">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>
<string name="google_storage_bucket">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>