-
Notifications
You must be signed in to change notification settings - Fork 584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add custom signals support in Remote Config. #6539
base: main
Are you sure you want to change the base?
Conversation
Reflects expanded functionality to store both metadata and custom signals in shared preferences.
Javadoc Changes:--- /home/runner/diff/original/firebase-kotlindoc/android/client/firebase-config/_toc.yaml 2024-12-16 17:18:59.254231380 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/client/firebase-config/_toc.yaml 2024-12-16 17:16:01.994306088 +0000
@@ -20,6 +20,10 @@
section:
- title: "ConfigUpdate"
path: "/docs/reference/android/com/google/firebase/remoteconfig/ConfigUpdate.html"
+ - title: "CustomSignals"
+ path: "/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html"
+ - title: "CustomSignals.Builder"
+ path: "/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html"
- title: "FirebaseRemoteConfig"
path: "/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html"
- title: "FirebaseRemoteConfigSettings" --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html 2024-12-16 17:16:01.998306087 +0000
@@ -0,0 +1,276 @@
+<html devsite="true">
+ <head>
+ <title>CustomSignals.Builder</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>CustomSignals.Builder</h1>
+ <p>
+ <pre>public class <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></pre>
+ </p>
+ <hr>
+ <p>Builder for constructing <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public constructors</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#Builder()">Builder</a>()</code></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public methods</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#build()">build</a>()</code></div>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance with the added custom signals.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,java.lang.String)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html">Nullable</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> value)</code></div>
+ <p>Adds a custom signal with a value that can be a string or null to the builder.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,long)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, long value)</code></div>
+ <p>Adds a custom signal with a long value to the builder.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,double)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, double value)</code></div>
+ <p>Adds a custom signal with a double value to the builder.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="list">
+ <h2>Public constructors</h2>
+ <div class="api-item"><a name="Builder--"></a><a name="builder"></a>
+ <h3 class="api-name" id="Builder()">Builder</h3>
+ <pre class="api-signature no-pretty-print">public <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#Builder()">Builder</a>()</pre>
+ </div>
+ </div>
+ <div class="list">
+ <h2>Public methods</h2>
+ <div class="api-item"><a name="build--"></a><a name="build"></a>
+ <h3 class="api-name" id="build()">build</h3>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#build()">build</a>()</pre>
+ <p>Creates a <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance with the added custom signals.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <p>The constructed <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, java.lang.String)"></a><a name="put-java.lang.String-java.lang.String-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,java.lang.String)">put</h3>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,java.lang.String)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html">Nullable</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> value)</pre>
+ <p>Adds a custom signal with a value that can be a string or null to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key</code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/Nullable.html">Nullable</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> value</code></td>
+ <td>
+ <p>The string value associated with the key. Can be null.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, long)"></a><a name="put-java.lang.String-long-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,long)">put</h3>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,long)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, long value)</pre>
+ <p>Adds a custom signal with a long value to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key</code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>long value</code></td>
+ <td>
+ <p>The long value for the custom signal.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, double)"></a><a name="put-java.lang.String-double-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,double)">put</h3>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,double)">put</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key, double value)</pre>
+ <p>Adds a custom signal with a double value to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key</code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>double value</code></td>
+ <td>
+ <p>The double value for the custom signal.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/CustomSignals.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/CustomSignals.html 2024-12-16 17:16:01.998306087 +0000
@@ -0,0 +1,39 @@
+<html devsite="true">
+ <head>
+ <title>CustomSignals</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>CustomSignals</h1>
+ <p>
+ <pre>public class <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></pre>
+ </p>
+ <hr>
+ <p>A container type to represent key/value pairs of heterogeneous types to be set as custom signals in <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a></code>.</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Nested types</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td>
+ <div><code>public class <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></div>
+ <p>Builder for constructing <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html 2024-12-16 17:18:59.254231380 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html 2024-12-16 17:16:01.998306087 +0000
@@ -254,6 +254,13 @@
<tr>
<td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>></code></td>
<td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a> customSignals)</code></div>
+ <p>Asynchronously changes the custom signals for this <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code> instance.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>></code></td>
+ <td>
<div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setDefaultsAsync(java.util.Map<java.lang.String,java.lang.Object>)">setDefaultsAsync</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/util/Map.html">Map</a><<a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>, <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a>> defaults)</code></div>
<p>Asynchronously sets default configs using the given <code><a href="https://developer.android.com/reference/kotlin/java/util/Map.html">Map</a></code>.</p>
</td>
@@ -973,6 +980,34 @@
</td>
</tr>
</tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="setCustomSignals-com.google.firebase.remoteconfig.CustomSignals-"></a><a name="setcustomsignals"></a>
+ <h3 class="api-name" id="setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</h3>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>> <a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a> customSignals)</pre>
+ <p>Asynchronously changes the custom signals for this <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code> instance. </p>
+ <p>The <code>customSignals</code> parameter should be an instance of <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code>. </p>
+ <p>Custom signals are subject to limits on the size of key/value pairs and the total number of signals. Any calls that exceed these limits will be discarded.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a> customSignals</code></td>
+ <td>
+ <p>A dictionary of keys and the values of the custom signals to be set for the app instance</p>
+ </td>
+ </tr>
+ </tbody>
</table>
</div>
</div> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/RemoteConfigKt.html 2024-12-16 17:18:59.258231378 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/RemoteConfigKt.html 2024-12-16 17:16:01.998306087 +0000
@@ -53,6 +53,12 @@
</thead>
<tbody class="list">
<tr>
+ <td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html#customSignals(kotlin.Function1)">customSignals</a>(<br> @<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html">ExtensionFunctionType</a> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> Function1<@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a>, <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>> builder<br>)</code></div>
+ </td>
+ </tr>
+ <tr>
<td><code>static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigValue.html">FirebaseRemoteConfigValue</a></code></td>
<td>
<div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html">RemoteConfigKt</a>.<a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html#(com.google.firebase.remoteconfig.FirebaseRemoteConfig).get(kotlin.String)">get</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a> receiver,<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key<br>)</code></div>
@@ -98,6 +104,10 @@
</div>
<div class="list">
<h2>Public methods</h2>
+ <div class="api-item"><a name="customSignals-kotlin.Function1-"></a><a name="customsignals"></a>
+ <h3 class="api-name" id="customSignals(kotlin.Function1)">customSignals</h3>
+ <pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html#customSignals(kotlin.Function1)">customSignals</a>(<br> @<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html">ExtensionFunctionType</a> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> Function1<@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a>, <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>> builder<br>)</pre>
+ </div>
<div class="api-item"><a name="-com.google.firebase.remoteconfig.FirebaseRemoteConfig-.get-kotlin.String-"></a><a name="get"></a>
<h3 class="api-name" id="(com.google.firebase.remoteconfig.FirebaseRemoteConfig).get(kotlin.String)">RemoteConfigKt.get</h3>
<pre class="api-signature no-pretty-print">public static final @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfigValue.html">FirebaseRemoteConfigValue</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html">RemoteConfigKt</a>.<a href="/docs/reference/android/com/google/firebase/remoteconfig/RemoteConfigKt.html#(com.google.firebase.remoteconfig.FirebaseRemoteConfig).get(kotlin.String)">get</a>(<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a> receiver,<br> @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a> key<br>)</pre> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/package-summary.html 2024-12-16 17:18:59.254231380 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/package-summary.html 2024-12-16 17:16:01.998306087 +0000
@@ -56,6 +56,18 @@
</td>
</tr>
<tr>
+ <td><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <p>A container type to represent key/value pairs of heterogeneous types to be set as custom signals in <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a></code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>Builder for constructing <code><a href="/docs/reference/android/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ </td>
+ </tr>
+ <tr>
<td><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code></td>
<td>
<p>Entry point for the Firebase Remote Config API.</p> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/client/firebase-config/_toc.yaml 2024-12-16 17:18:59.250231382 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/client/firebase-config/_toc.yaml 2024-12-16 17:16:01.986306092 +0000
@@ -20,6 +20,10 @@
section:
- title: "ConfigUpdate"
path: "/docs/reference/kotlin/com/google/firebase/remoteconfig/ConfigUpdate.html"
+ - title: "CustomSignals"
+ path: "/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html"
+ - title: "CustomSignals.Builder"
+ path: "/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html"
- title: "FirebaseRemoteConfig"
path: "/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html"
- title: "FirebaseRemoteConfigSettings" --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html 2024-12-16 17:16:01.986306092 +0000
@@ -0,0 +1,276 @@
+<html devsite="true">
+ <head>
+ <title>CustomSignals.Builder</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>CustomSignals.Builder</h1>
+ <p>
+ <pre>class <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></pre>
+ </p>
+ <hr>
+ <p>Builder for constructing <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public constructors</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#Builder()">Builder</a>()</code></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Public functions</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#build()">build</a>()</code></div>
+ <p>Creates a <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance with the added custom signals.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,java.lang.String)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>?)</code></div>
+ <p>Adds a custom signal with a value that can be a string or null to the builder.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,long)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html">Long</a>)</code></div>
+ <p>Adds a custom signal with a long value to the builder.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,double)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html">Double</a>)</code></div>
+ <p>Adds a custom signal with a double value to the builder.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="list">
+ <h2>Public constructors</h2>
+ <div class="api-item"><a name="Builder--"></a><a name="builder"></a>
+ <h3 class="api-name" id="Builder()">Builder</h3>
+ <pre class="api-signature no-pretty-print"><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#Builder()">Builder</a>()</pre>
+ </div>
+ </div>
+ <div class="list">
+ <h2>Public functions</h2>
+ <div class="api-item"><a name="build--"></a><a name="build"></a>
+ <h3 class="api-name" id="build()">build</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#build()">build</a>(): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></pre>
+ <p>Creates a <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance with the added custom signals.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <p>The constructed <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instance.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, java.lang.String)"></a><a name="put-java.lang.String-java.lang.String-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,java.lang.String)">put</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,java.lang.String)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>?): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></pre>
+ <p>Adds a custom signal with a value that can be a string or null to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>?</code></td>
+ <td>
+ <p>The string value associated with the key. Can be null.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, long)"></a><a name="put-java.lang.String-long-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,long)">put</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,long)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html">Long</a>): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></pre>
+ <p>Adds a custom signal with a long value to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html">Long</a></code></td>
+ <td>
+ <p>The long value for the custom signal.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="put(java.lang.String, double)"></a><a name="put-java.lang.String-double-"></a><a name="put"></a>
+ <h3 class="api-name" id="put(java.lang.String,double)">put</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html#put(java.lang.String,double)">put</a>(key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>, value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html">Double</a>): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></pre>
+ <p>Adds a custom signal with a double value to the builder.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>key: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a></code></td>
+ <td>
+ <p>The key for the custom signal.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>value: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-double/index.html">Double</a></code></td>
+ <td>
+ <p>The double value for the custom signal.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Returns</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>This Builder instance to allow chaining of method calls.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/CustomSignals.html 1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/CustomSignals.html 2024-12-16 17:16:01.986306092 +0000
@@ -0,0 +1,39 @@
+<html devsite="true">
+ <head>
+ <title>CustomSignals</title>
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+ </head>
+ <body>
+ <div id="metadata-info-block"></div>
+ <h1>CustomSignals</h1>
+ <p>
+ <pre>class <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></pre>
+ </p>
+ <hr>
+ <p>A container type to represent key/value pairs of heterogeneous types to be set as custom signals in <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a></code>.</p>
+ <h2>Summary</h2>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%"><h3>Nested types</h3></th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td>
+ <div><code>class <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></div>
+ <p>Builder for constructing <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </body>
+</html>
+ --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html 2024-12-16 17:18:59.254231380 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html 2024-12-16 17:16:01.986306092 +0000
@@ -254,6 +254,13 @@
<tr>
<td><code><a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!></code></td>
<td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a>(customSignals: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a>)</code></div>
+ <p>Asynchronously changes the custom signals for this <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code> instance.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!></code></td>
+ <td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setDefaultsAsync(java.util.Map<java.lang.String,java.lang.Object>)">setDefaultsAsync</a>(defaults: (<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html">Mutable</a>)<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html">Map</a><<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>!, <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>!>)</code></div>
<p>Asynchronously sets default configs using the given <code><a href="https://developer.android.com/reference/kotlin/java/util/Map.html">Map</a></code>.</p>
</td>
@@ -990,6 +997,34 @@
</td>
</tr>
</tbody>
+ </table>
+ </div>
+ </div>
+ <div class="api-item"><a name="setCustomSignals-com.google.firebase.remoteconfig.CustomSignals-"></a><a name="setcustomsignals"></a>
+ <h3 class="api-name" id="setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a>(customSignals: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a>): <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!></pre>
+ <p>Asynchronously changes the custom signals for this <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code> instance. </p>
+ <p>The <code>customSignals</code> parameter should be an instance of <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code>. </p>
+ <p>Custom signals are subject to limits on the size of key/value pairs and the total number of signals. Any calls that exceed these limits will be discarded.</p>
+ <div class="devsite-table-wrapper">
+ <table class="responsive">
+ <colgroup>
+ <col width="40%">
+ <col>
+ </colgroup>
+ <thead>
+ <tr>
+ <th colspan="100%">Parameters</th>
+ </tr>
+ </thead>
+ <tbody class="list">
+ <tr>
+ <td><code>customSignals: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <p>A dictionary of keys and the values of the custom signals to be set for the app instance</p>
+ </td>
+ </tr>
+ </tbody>
</table>
</div>
</div> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/package-summary.html 2024-12-16 17:18:59.254231380 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/package-summary.html 2024-12-16 17:16:01.986306092 +0000
@@ -56,6 +56,18 @@
</td>
</tr>
<tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <p>A container type to represent key/value pairs of heterogeneous types to be set as custom signals in <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(com.google.firebase.remoteconfig.CustomSignals)">setCustomSignals</a></code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a></code></td>
+ <td>
+ <p>Builder for constructing <code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code> instances.</p>
+ </td>
+ </tr>
+ <tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html">FirebaseRemoteConfig</a></code></td>
<td>
<p>Entry point for the Firebase Remote Config API.</p>
@@ -135,6 +147,12 @@
</colgroup>
<tbody class="list">
<tr>
+ <td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></code></td>
+ <td>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/package-summary.html#customSignals(kotlin.Function1)">customSignals</a>(builder: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a>.() <span style="white-space: nowrap;">-></span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>)</code></div>
+ </td>
+ </tr>
+ <tr>
<td><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.html">FirebaseRemoteConfigSettings</a></code></td>
<td>
<div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/package-summary.html#remoteConfigSettings(kotlin.Function1)">remoteConfigSettings</a>(init: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder.html">FirebaseRemoteConfigSettings.Builder</a>.() <span style="white-space: nowrap;">-></span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>)</code></div>
@@ -194,6 +212,10 @@
</table>
</div>
<h2>Top-level functions</h2>
+ <div class="api-item"><a name="customSignals-kotlin.Function1-"></a><a name="customsignals"></a>
+ <h3 class="api-name" id="customSignals(kotlin.Function1)">customSignals</h3>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/package-summary.html#customSignals(kotlin.Function1)">customSignals</a>(builder: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.Builder.html">CustomSignals.Builder</a>.() <span style="white-space: nowrap;">-></span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/CustomSignals.html">CustomSignals</a></pre>
+ </div>
<div class="api-item"><a name="remoteConfigSettings-kotlin.Function1-"></a><a name="remoteconfigsettings"></a>
<h3 class="api-name" id="remoteConfigSettings(kotlin.Function1)">remoteConfigSettings</h3>
<pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/package-summary.html#remoteConfigSettings(kotlin.Function1)">remoteConfigSettings</a>(init: <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.Builder.html">FirebaseRemoteConfigSettings.Builder</a>.() <span style="white-space: nowrap;">-></span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a>): <a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfigSettings.html">FirebaseRemoteConfigSettings</a></pre> |
Vertex AI Mock Responses Check
|
Generated by 🚫 Danger |
Coverage Report 1Affected Products
Test Logs |
Test Results 42 files - 994 42 suites - 994 1m 23s ⏱️ - 33m 2s Results for commit d13645c. ± Comparison against base commit 2b072d9. This pull request removes 5591 and adds 40 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
Size Report 1Affected Products
Test Logs |
feat(rc): Add custom signals support and methods to set custom signals for Remote Config Custom targeting
When we update custom signals using setCustomSignals, the latest custom signals are not retrieved in the subsequent fetch. Currently, we are required to reload the app to fetch them. Link to the bug: [Fetch uses stale custom signal values](https://b.corp.google.com/issues/381353888)
@@ -41,7 +41,7 @@ fun createRemoteConfig( | |||
defaultConfigsCache: ConfigCacheClient, | |||
fetchHandler: ConfigFetchHandler, | |||
getHandler: ConfigGetParameterHandler, | |||
frcMetadata: ConfigMetadataClient, | |||
frcSharedPrefs: ConfigSharedPrefsClient, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since we are already making changes here, it sounds like a good idea to revisit naming, is frc
adding any valuable meaning as part of the name? If not, I'd rather rename it to something more descriptive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the suggestion! The prefix frc here specifically refers for storing Remote Config related key-value pairs in shared preferences. It helps differentiate these preferences from other shared preferences. Do you have any other suggestions?
firebase-config/src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfig.java
Outdated
Show resolved
Hide resolved
firebase-config/src/main/java/com/google/firebase/remoteconfig/CustomSignals.java
Show resolved
Hide resolved
firebase-config/src/main/java/com/google/firebase/remoteconfig/CustomSignals.java
Outdated
Show resolved
Hide resolved
firebase-config/src/main/java/com/google/firebase/remoteconfig/CustomSignals.java
Outdated
Show resolved
Hide resolved
firebase-config/src/main/java/com/google/firebase/remoteconfig/CustomSignals.java
Show resolved
Hide resolved
requestBodyMap.put(CUSTOM_SIGNALS, new JSONObject(customSignalsMap)); | ||
|
||
// Log the custom signals during fetch. | ||
Log.d(TAG, "Fetching with custom signals: " + customSignalsMap); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could the custom signals include any information that shouldn't be logged? See https://developer.android.com/privacy-and-security/risks/log-info-disclosure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are adding debug logs here, does logging at the debug level sufficiently mitigate the risk of exposing sensitive data? We are planning to explicitly advise against including sensitive information within custom signals in our public documentation. Do you think this approach adequately addresses the potential concerns?
feat(rc): Add support to set custom signals for Remote Config Custom targeting