在Android中手动设置Firebase DEFAULT应用参数的问题

时间:2017-08-08 00:22:31

标签: android firebase firebase-analytics

专家,

出于安全原因,我们决定不使用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"
    />

1 个答案:

答案 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>