Set up push notifications to request reviews

Use the push notification feature to send in-app review requests to your customers’ devices through your iOS or Android app. When your order data is processed and ready, Bazaarvoice sends the push notification on your behalf, following the review request schedule you configure in Step 3b. When a customer selects the notification, the review submission page opens in an in-app browser tab where the customer can complete the review submission; closing the browser tab will return the customer back to your app.

This article is an implementation guide for your Development Team and Portal Administrators. It takes you from an empty Google Cloud project to a published notification template, including BV Garner SDK implementation. For the steps you need to follow in order, refer to the Setup overview.

Note:
  • Push notification is different from Review collection webhooks. With webhooks, Bazaarvoice sends event data (JSON payload) to your endpoint, and you send the push notifications yourself.
  • With Push notification enabled, Bazaarvoice sends in-app notifications requesting reviews to your customer's devices through your own app. To get started, contact Bazaavoice Support.

Benefits

  • Reach customers where they shop: Review requests appear on the devices of customers who have your app installed, which can increase your review volume.
  • Keep control of your credentials: You only upload relevant keys in the Portal. Bazaarvoice never needs access to your Firebase, Google Cloud, Google Play Console, or Apple Developer accounts, and you do not invite anyone.
  • Protect customer data: The BV Garner SDK hashes email addresses and phone numbers on the device before it sends them. Bazaarvoice never receives them in readable form.
  • Control the message: Write the title and body of the push notification for each locale; preview them on the Portal before publishing.

How push notifications for review requests work

  1. Connect your Firebase project: In the Bazaarvoice Portal, you create a sender profile for your app and upload a Firebase service-account key. Bazaarvoice uses the key only to send notifications to your app through Firebase Cloud Messaging (FCM).
  2. Add the BV Garner SDK to your app: On first launch, the SDK registers the device and receives a Device ID. On Android, the SDK also confirms through Google Play Integrity that the app is genuine and installed from Google Play. On iOS, it uses Apple App Attest.
  3. Link the signed-in customer: When a customer signs in, your app passes their user ID and email address to the SDK. The SDK sends the email address to Bazaarvoice once, encrypted in transit, at the first sign-in. Bazaarvoice normalizes and hashes it and stores only the hash. The phone keeps only that hash, never the address. Bazaarvoice uses the hash to match review requests to the right device.
  4. Set the review collection method: In the Portal, set the review collection method to Push Notification & Email or Push Notification for the Review Request and Review Request Reminder message types.
  5. Create a notification template: In Review Channels, write the notification title and body for each locale, and preview them in Live preview.
  6. Verify your setup and publish: Send a test notification to a test device and confirm that it arrives. You can publish the template to your site only after the sender profile is verified.
  7. Check for a published template: When a review request or review request reminder is ready to send, Bazaarvoice checks whether you have a published template that uses a verified sender profile. If you do, Bazaarvoice sends the push notification. If you don’t, and you’ve configured a review collection webhook, Bazaarvoice sends the review request or reminder JSON payload to your webhook endpoint URL instead.
  8. Customers receive review requests: When a review request is ready, Bazaarvoice sends the notification to the customer's linked devices.
Note: 

  • Bazaarvoice never needs access to your Google Cloud project, Firebase project, Play Console, or Apple Developer account. You upload keys in the Portal.
  • Email addresses and phone numbers are stored as hashes, not in readable form.
  • The BV Garner SDK never contains your Portal API key or any server key. ​

Technical requirements

To set up push notifications to request reviews, you need the following.

Requirement Used for Platform
Firebase service-account .json key Allows Bazaarvoice to send notifications through FCM. You upload it in the Portal. Android and iOS
Google Play Integrity service-account .json key Allows Bazaarvoice to confirm that each device runs your genuine app. You upload it in the Portal. Android
Apple Push Notification service (APNs) key (.p8) Allows Firebase to deliver notifications to iPhones. You upload it to Firebase, not to the Portal. iOS
Android package name Identifies your Android app in the Portal. Android
iOS bundle ID and 10-character Apple Developer Team ID Identify your iOS app in the Portal. iOS
google-services.json or GoogleService-Info.plist App configuration files for your developers. Don't upload them to the Portal. Android or iOS
Developers who can add the BV Garner SDK to your app Registers devices and displays notifications. Android and iOS

Each .json file you upload to the Portal must be 16 KB or smaller. Real service-account keys are about 2–3 KB.

Additional requirements you will need:

  • Google account: A company Google account at your own domain, not a personal @gmail.com account.
  • Firebase project: Use the project that your production app already uses for push notifications, or create a new one under your company's Google Cloud organization.
  • Android: Google Play Console access for the app, a way to install test builds from Google Play (for example, an internal testing track), and a real Android phone with Google Play running Android 7.0 (API 24) or later.
  • iOS: Access to your company's Apple Developer Program membership. A real iPhone with iOS 15 or later. Use a build from Xcode or TestFlight to do the testing on a real iPhone.

Caution
est on a real device.
  • In production, every Android device must pass Google Play Integrity before it can register. Emulators, simulators, sideloaded builds, and debug builds installed from Android Studio cannot register. On Android, install test builds from a Google Play internal testing track.
  • On iOS, test on a real iPhone with a build from Xcode or TestFlight. You cannot use simulators because attestation does not work in them, and older iOS versions don't support push notifications in simulators.

Required solutions and roles

You must have the following solutions and roles in the Portal to access Sender Profiles and Review channel pages:

Solutions Roles
  • Ratings & Reviews
  • Configuration
  • Account Administrator
  • Technical Administrator

Level of effort

The following table shows who usually completes each task.

Task Usually completed by
Approve organization-policy exceptions in Google Cloud (only if key creation is blocked). Google Cloud organization Administrator
Set up the Firebase project, service accounts, and keys Google Cloud Project Owner  or  Firebase Project Owner
Link the Play Integrity Cloud project. Google Play Console Administrator
Create the APNs key Apple Developer Account Administrator  
Create a sender profile in the Portal Account Administrator  or  Technical Administrator
Add the SDK to your app Android and iOS developers
Set the review collection method
Account Administrator  or  Technical Administrator
Send test notifications Developer  or QA tester , together with  Account Administrator  or  Technical Administrator
Publish push notification templates Account Administrator  or  Technical Administrator

Setup overview

To set up push notifications for review requests, complete the following steps:

Steps What to do
1 Prepare your Firebase and mobile platforms
  1. Prepare Firebase and Google Cloud: confirm your project, turn on the Firebase Cloud Messaging API (V1), and create the Firebase service-account key.
  2. Prepare for Android: link your app to a Google Cloud project, turn on the Play Integrity API, and create the Play Integrity key.
  3. Prepare for iOS: create an APNs key and upload it to Firebase.
2 Set up push notifications in the Portal
  1. Select the review collection method to Push Notification & Email or Push Notification.
  2. Create a sender profile for push notifications.
3 Android integration
Add the BV Garner SDK to your own app, initialize it with your App ID, link signed-in customers, and ask for notification permission.
4 iOS integration
Add the BV Garner SDK to your own app and configure it with your App ID.
5 Verify your sender profile

Verify your sender profile by sending a test notification to a test device. When it arrives, the profile status changes to Verified. This verification is mandatory without which you cannot publish a template to Production. 

7 Create and publish notification template
  1. In the Review Channels page in Portal, create a push notification template with a title and body for each locale and send a test notification to see how the title and body appear on a real device.
  2. Publish the template to Staging, test it, and then deploy it to Production.
8
Release checklist

After you implement the BV Garner SDK in your app and publish the template to Production, use the provided checklist to confirm that your app is ready for release.

Provide feedback button