Skip to content
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

Tushar khandelwal/rc custom targeting #6410

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

tusharkhandelwal8
Copy link

@tusharkhandelwal8 tusharkhandelwal8 commented Oct 24, 2024

feat(rc): Add method to set custom signals for Remote Config Custom targeting

Copy link
Contributor

github-actions bot commented Oct 24, 2024

Javadoc Changes:
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html	2024-11-18 08:45:43.423988657 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html	2024-11-18 08:42:43.804406208 +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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>&gt;</code></td>
             <td>
+              <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>,&nbsp;<a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a>&gt;&nbsp;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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>&gt;</code></td>
+            <td>
               <div><code><a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setDefaultsAsync(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>,&nbsp;<a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a>&gt;&nbsp;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,37 @@
                 </td>
               </tr>
             </tbody>
+          </table>
+        </div>
+      </div>
+      <div class="api-item"><a name="setCustomSignals-java.util.Map&lt;java.lang.String,java.lang.Object&gt;-"></a><a name="setcustomsignals"></a>
+        <h3 class="api-name" id="setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</h3>
+        <pre class="api-signature no-pretty-print">public&nbsp;@<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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>&gt;&nbsp;<a href="/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>,&nbsp;<a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a>&gt;&nbsp;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 values in <code>customSignals</code> must be one of the following types: </p>
+        <ul>
+          <li><code>Long</code></li>
+          <li><code>String</code></li>
+        </ul>
+        <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/util/Map.html">Map</a>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/String.html">String</a>,&nbsp;<a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a>&gt;&nbsp;customSignals</code></td>
+                <td>
+                  <p>Map (key, value) 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/FirebaseRemoteConfig.html	2024-11-18 08:45:43.419988666 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html	2024-11-18 08:42:43.800406218 +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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!&gt;</code></td>
             <td>
+              <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</a>(customSignals:&nbsp;(<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>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>!,&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>!&gt;)</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>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!&gt;</code></td>
+            <td>
               <div><code><a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setDefaultsAsync(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setDefaultsAsync</a>(defaults:&nbsp;(<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>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>!,&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>!&gt;)</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,37 @@
                 </td>
               </tr>
             </tbody>
+          </table>
+        </div>
+      </div>
+      <div class="api-item"><a name="setCustomSignals-java.util.Map&lt;java.lang.String,java.lang.Object&gt;-"></a><a name="setcustomsignals"></a>
+        <h3 class="api-name" id="setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</h3>
+        <pre class="api-signature no-pretty-print">fun&nbsp;<a href="/docs/reference/kotlin/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#setCustomSignals(java.util.Map&lt;java.lang.String,java.lang.Object&gt;)">setCustomSignals</a>(customSignals:&nbsp;(<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>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>!,&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>!&gt;):&nbsp;<a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a>&lt;<a href="https://developer.android.com/reference/kotlin/java/lang/Void.html">Void</a>!&gt;</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 values in <code>customSignals</code> must be one of the following types: </p>
+        <ul>
+          <li><code>Long</code></li>
+          <li><code>String</code></li>
+        </ul>
+        <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:&nbsp;(<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>&lt;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a>!,&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>!&gt;</code></td>
+                <td>
+                  <p>Map (key, value) of the custom signals to be set for the app instance</p>
+                </td>
+              </tr>
+            </tbody>
           </table>
         </div>
       </div>

Copy link
Contributor

Vertex AI Mock Responses Check ⚠️

A newer major version of the mock responses for Vertex AI unit tests is available. update_responses.sh should be updated to clone the latest version of the responses: v5.1

@google-oss-bot
Copy link
Contributor

1 Warning
⚠️ Did you forget to add a changelog entry? (Add the 'no-changelog' label to the PR to silence this warning.)

Generated by 🚫 Danger

Copy link
Contributor

github-actions bot commented Oct 24, 2024

Test Results

 40 files  + 20   40 suites  +20   1m 26s ⏱️ + 1m 11s
314 tests +201  314 ✅ +201  0 💤 ±0  0 ❌ ±0 
640 runs  +414  640 ✅ +414  0 💤 ±0  0 ❌ ±0 

Results for commit 92814b7. ± Comparison against base commit b9013d5.

This pull request removes 113 and adds 314 tests. Note that renamed tests count towards both.
com.google.firebase.vertexai.GenerativeModelTesting ‑ exception thrown when using invalid location
com.google.firebase.vertexai.GenerativeModelTesting ‑ system calling in request
com.google.firebase.vertexai.SchemaTests ‑ basic schema declaration
com.google.firebase.vertexai.SchemaTests ‑ full schema declaration
com.google.firebase.vertexai.StreamingSnapshotTests ‑ citation parsed correctly
com.google.firebase.vertexai.StreamingSnapshotTests ‑ empty content
com.google.firebase.vertexai.StreamingSnapshotTests ‑ http errors
com.google.firebase.vertexai.StreamingSnapshotTests ‑ image rejected
com.google.firebase.vertexai.StreamingSnapshotTests ‑ invalid api key
com.google.firebase.vertexai.StreamingSnapshotTests ‑ invalid json
…
com.google.firebase.remoteconfig.ConfigTests ‑ Firebase#remoteConfig should delegate to FirebaseRemoteConfig#getInstance()
com.google.firebase.remoteconfig.ConfigTests ‑ Firebase#remoteConfig should delegate to FirebaseRemoteConfig#getInstance(FirebaseApp, region)
com.google.firebase.remoteconfig.ConfigTests ‑ FirebaseRemoteConfigSettings builder works
com.google.firebase.remoteconfig.ConfigTests ‑ Overloaded get() operator returns default value when key doesn't exist
com.google.firebase.remoteconfig.ConfigTests ‑ Overloaded get() operator returns value when key exists
com.google.firebase.remoteconfig.FirebaseRemoteConfigSettingsTest ‑ toBuilder_withFieldsSet_buildsObjectWithFieldsSet
com.google.firebase.remoteconfig.FirebaseRemoteConfigTest ‑ activate2p_hasAbtExperiments_doesNotCallAbt
com.google.firebase.remoteconfig.FirebaseRemoteConfigTest ‑ activate2p_hasNoAbtExperiments_doesNotCallAbt
com.google.firebase.remoteconfig.FirebaseRemoteConfigTest ‑ activate_callToAbtFails_activateStillSucceeds
com.google.firebase.remoteconfig.FirebaseRemoteConfigTest ‑ activate_configWithRolloutMetadata_storedInActivatedCacheSuccessfully
…

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

The public api surface has changed for the subproject firebase-config:
error: Added method com.google.firebase.remoteconfig.FirebaseRemoteConfig.setCustomSignals(java.util.Map<java.lang.String,java.lang.Object>) [AddedMethod]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

@google-oss-bot
Copy link
Contributor

The public api surface has changed for the subproject firebase-config:
error: Added method com.google.firebase.remoteconfig.FirebaseRemoteConfig.setCustomSignals(java.util.Map<java.lang.String,java.lang.Object>) [AddedMethod]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

@google-oss-bot
Copy link
Contributor

The public api surface has changed for the subproject firebase-config:
error: Added method com.google.firebase.remoteconfig.FirebaseRemoteConfig.setCustomSignals(java.util.Map<java.lang.String,java.lang.Object>) [AddedMethod]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

@google-oss-bot
Copy link
Contributor

The public api surface has changed for the subproject firebase-config:
error: Added method com.google.firebase.remoteconfig.FirebaseRemoteConfig.setCustomSignals(java.util.Map<java.lang.String,java.lang.Object>) [AddedMethod]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

@karenyz
Copy link

karenyz commented Oct 28, 2024

Also in general can you update the PR title/description with more info - "Add method to set custom signals for Remote Config targeting" or something

…ting

# Conflicts:
#	firebase-config/gradle.properties
…eting' into tushar-khandelwal/rc-custom-targeting

# Conflicts:
#	firebase-config/ktx/src/test/kotlin/com/google/firebase/remoteconfig/TestConstructorUtil.kt
#	firebase-config/ktx/src/test/kotlin/com/google/firebase/remoteconfig/ktx/RemoteConfigTests.kt
#	firebase-config/src/androidTest/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigIntegrationTest.java
#	firebase-config/src/main/java/com/google/firebase/remoteconfig/FirebaseRemoteConfig.java
#	firebase-config/src/main/java/com/google/firebase/remoteconfig/RemoteConfigComponent.java
#	firebase-config/src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigTest.java
#	firebase-config/src/test/java/com/google/firebase/remoteconfig/RemoteConfigTests.kt
#	firebase-config/src/test/java/com/google/firebase/remoteconfig/TestConstructorUtil.kt
#	firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigFetchHandlerTest.java
#	firebase-config/src/test/java/com/google/firebase/remoteconfig/ktx/RemoteConfigTests.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants