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

Deploy - June 4, 2024 #7463

Merged
merged 67 commits into from
Jun 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
79df27c
BD-2759 Add canvas_entry_properties use cases
rachel-feinberg May 6, 2024
afb63ea
Add use case
rachel-feinberg May 7, 2024
6eeeed9
Edits
rachel-feinberg May 22, 2024
cb1cd59
Update html_in-app_messages.md
davidbielik May 23, 2024
279a1d3
Add clarifying note for iOS push action buttons
jerielng May 24, 2024
250d317
Update phrasing
jerielng May 24, 2024
d2e875d
Move in-app_messaging.md to Swift SDK section
internetisaiah May 29, 2024
682bdb4
fcm docs
davidbielik May 30, 2024
cc020e9
BD-3141: Update external WhatsApp links
lydia-xie May 30, 2024
9dd1eae
allow jp partners url
zzhaobraze May 31, 2024
c4eaf46
Merge pull request #7443 from braze-inc/i18n_fix_partners
internetisaiah May 31, 2024
2f35f14
fix api description
zzhaobraze May 31, 2024
a386f19
Merge pull request #7444 from braze-inc/i18n_fix_ja_api
internetisaiah May 31, 2024
3096674
Merge pull request #7436 from braze-inc/lydia-xie-patch-3
bre-fitzgerald May 31, 2024
2c4acda
Update _docs/_developer_guide/platform_integration_guides/swift/push_…
jerielng May 31, 2024
793c339
BD-3127 Snowflake image update
lydia-xie May 31, 2024
7ac9328
Merge pull request #7445 from braze-inc/BD-3127
internetisaiah May 31, 2024
63294f9
tech writer edits
internetisaiah May 31, 2024
b98f022
Merge branch 'develop' into davidbielik-patch-3
internetisaiah May 31, 2024
fc72d78
Update standard_integration.md
internetisaiah May 31, 2024
4f34e9e
BD-3138 Expected behavior for updated email address
lydia-xie May 31, 2024
76a6560
Update migrating_to_firebase_cloud_messaging.md
internetisaiah May 31, 2024
97af510
Merge pull request #7432 from braze-inc/fcm-docs
internetisaiah May 31, 2024
ac0647b
Update _docs/_user_guide/message_building_by_channel/email/managing_u…
lydia-xie May 31, 2024
7aeedbf
Merge pull request #7447 from braze-inc/BD-3138
lydia-xie May 31, 2024
9ef9e59
Merge pull request #7400 from braze-inc/davidbielik-patch-3
internetisaiah Jun 1, 2024
61e0baa
Clarifying updates to Cordova push documentation
jerielng Jun 3, 2024
44333cd
Update ai_item_recommendations.md
bre-fitzgerald Jun 3, 2024
c8600ef
Merge pull request #7449 from braze-inc/bre-fitzgerald-patch-1
rachel-feinberg Jun 3, 2024
82522ff
Update push_notifications.md
jerielng Jun 3, 2024
4eea3a6
Update docs with correct fields
mattdisipio Jun 3, 2024
07a8834
tech writer edits
internetisaiah Jun 3, 2024
4d1b0de
tech writer edits
internetisaiah Jun 3, 2024
0871f57
Merge branch 'develop' into ios-push-buttons
internetisaiah Jun 3, 2024
2aa1035
Update article
rachel-feinberg Jun 3, 2024
45721bf
Merge pull request #7407 from braze-inc/ios-push-buttons
internetisaiah Jun 3, 2024
c71202f
tech writer edits
internetisaiah Jun 3, 2024
63109cd
tech writer edits
internetisaiah Jun 3, 2024
a19154b
Merge pull request #7451 from braze-inc/cordova-push-docs
internetisaiah Jun 3, 2024
4f866a4
Merge pull request #7453 from braze-inc/bd-3151
lydia-xie Jun 3, 2024
74a7338
Update post_schedule_messages.md
lydia-xie Jun 3, 2024
952b1df
Merge pull request #7454 from braze-inc/lydia-xie-patch-3
rachel-feinberg Jun 3, 2024
fa02a4b
BD-3137
lydia-xie Jun 3, 2024
50c28c2
Merge pull request #7455 from braze-inc/BD-3137
rachel-feinberg Jun 3, 2024
57e9db5
BD-3154
lydia-xie Jun 3, 2024
500c5fd
remove old hidden doc
lydia-xie Jun 3, 2024
bec9546
BD-3148: Clarify details for schedule object
lydia-xie Jun 3, 2024
27d4dbb
Merge pull request #7456 from braze-inc/BD-3154
rachel-feinberg Jun 3, 2024
b16f71d
Merge pull request #7457 from braze-inc/lydia-xie-patch-3
rachel-feinberg Jun 3, 2024
4525942
BD-3070 pt1 changing example to use case when appropriate
rachel-feinberg Jun 3, 2024
aebc616
Update _docs/_partners/message_orchestration/channel_extensions/surve…
rachel-feinberg Jun 3, 2024
cb88bbb
Address #7409 and #7418
lydia-xie Jun 4, 2024
7ec500a
Number formatting
rachel-feinberg Jun 4, 2024
c24718d
Merge pull request #7458 from braze-inc/bd-3070
rachel-feinberg Jun 4, 2024
b132b8f
Merge pull request #7308 from braze-inc/bd-2759
lydia-xie Jun 4, 2024
469ec03
fix faq from pm feedback
lydia-xie Jun 4, 2024
b29c4c9
Merge pull request #7452 from braze-inc/task/MOPS-3125-correct-variables
internetisaiah Jun 4, 2024
57eb665
Update _includes/campaign_analytics.md
lydia-xie Jun 4, 2024
d31d27c
Merge pull request #7459 from braze-inc/lx-email-prs
rachel-feinberg Jun 4, 2024
f3284a6
BD-3129
lydia-xie Jun 4, 2024
ba017d6
Merge pull request #7461 from braze-inc/BD-3129
rachel-feinberg Jun 4, 2024
9f7003e
Edits + deletions + new docs
internetisaiah Jun 4, 2024
20cb5a2
Merge develop
internetisaiah Jun 4, 2024
32869da
BD-3070 pt2 Change sample to example
rachel-feinberg Jun 4, 2024
01dbe9b
Merge pull request #7462 from braze-inc/bd-3070-2
lydia-xie Jun 4, 2024
8aee054
Edits
rachel-feinberg Jun 4, 2024
9c1ef20
Merge pull request #7422 from braze-inc/internetisaiah-patch-4
rachel-feinberg Jun 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ Authorization: Bearer YOUR-REST-API-KEY

Once made available, the URL will only be valid for a few hours. As such, we highly recommend that you add your own S3 credentials to Braze.

### Sample user export file output
### Example user export file output

User export object (we will include the least data possible - if a field is missing from the object it should be assumed to be null, false, or empty):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ Authorization: Bearer YOUR-REST-API-KEY

For an example of the data that is accessible via this endpoint see the following example.

### Sample user export file output
### Example user export file output

User export object (we will include the least data possible - if a field is missing from the object it should be assumed to be null, false, or empty):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ Authorization: Bearer YOUR-REST-API-KEY

Once made available, the URL will only be valid for a few hours. As such, we highly recommend that you add your own S3 credentials to Braze.

## Sample user export file output
## Example user export file output

User export object (we will include the least data possible - if a field is missing from the object it should be assumed to be null, false, or empty):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Authorization: Bearer YOUR-REST-API-KEY
"override_messaging_limits": (optional, bool) ignore frequency capping rules, defaults to false,
"recipient_subscription_state": (optional, string) use this to send messages to only users who have opted in ('opted_in'), only users who have subscribed or are opted in ('subscribed') or to all users, including unsubscribed users ('all'), the latter being useful for transactional email messaging. Defaults to 'subscribed',
"schedule": {
"time": (required, datetime as ISO 8601 string) time to send the message,
"time": (required, datetime as ISO 8601 string) time to send the message in UTC,
"in_local_time": (optional, bool),
"at_optimal_time": (optional, bool),
},
Expand Down
4 changes: 2 additions & 2 deletions _docs/_api/objects_filters/schedule_object.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: "This reference article lists and explains the different scheduling

> The parameters for the campaign and Canvas schedule creation endpoints mirror those of the sending endpoint and add the `schedule` parameter, which allows you to specify when you want your targeted users to receive your message. If you include only the `time` parameter in the `schedule` object, all of your users will be messaged at that time.

If you set `in_local_time` to be `true`, you will get an error response if the time parameter has passed in all time zones. If you set `at_optimal_time` to be true, your users will receive the message at the designated date at the [optimal time][33] for them (regardless of the time you provide). When using local or optimal time sending, do not provide time zone designators in the value of the time parameter (for example, just give us `"2015-02-20T13:14:47"` instead of `"2015-02-20T13:14:47-05:00"`).
If you set `in_local_time` to be `true`, you will get an error response if the time parameter has passed in all time zones. If you set `at_optimal_time` to be true, your users will receive the message at the designated date at the optimal time (regardless of the time you provide). When using local or optimal time sending, do not provide time zone designators in the value of the time parameter (for example, use `"2015-02-20T13:14:47"` instead of `"2015-02-20T13:14:47-05:00"`).

The response will provide you with a `schedule_id` that you should save in case you later need to cancel or update the message you schedule:

Expand All @@ -21,7 +21,7 @@ Insert this object as needed to schedule your messages.

```json
"schedule": {
"time": (required, datetime as ISO 8601 string) time to send the message,
"time": (required, datetime as ISO 8601 string) time to send the message in UTC,
"in_local_time": (optional, bool),
"at_optimal_time": (optional, bool),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ public class BrazeDemoApplication extends Application {
{% endtab %}
{% endtabs %}

## Sample use cases
## Use cases

There are three sample customer use cases provided. Each sample has code snippets and a look into how in-app messages may look and be used in the Braze dashboard:
We've provided three use cases below. Each use case has code snippets and a look into how in-app messages may look and be used in the Braze dashboard:
- [Custom slideup in-app message](#custom-slideup-in-app-message)
- [Custom modal in-app message](#custom-modal-in-app-message)
- [Custom full in-app message](#custom-full-in-app-message)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,14 @@ Select **Add Key** > **Create new key**.

![The selected service account with the "Add Key" menu open.]({% image_buster /assets/img/android/push_integration/generate_json_credentials/select-create-new-key.png %})

Choose **JSON**, then select **Create**. Be sure to remember where you downloaded the key—you'll need it in the next step.
Choose **JSON**, then select **Create**. If you created your service account using a different Google Cloud project ID than your FCM project ID, you'll need to manually update the value assigned to the `project_id` in your JSON file.

Be sure to remember where you downloaded the key—you'll need it in the next step.

![The form for creating a private key with "JSON" selected.]({% image_buster /assets/img/android/push_integration/generate_json_credentials/select-create.png %}){: style="max-width:65%;"}

{% alert warning %}
Private keys could pose a security risk if compromised. Store your JSON credentials in a secure location—you'll delete your key after you upload it to Braze.
Private keys could pose a security risk if compromised. Store your JSON credentials in a secure location for now—you'll delete your key after you upload it to Braze.
{% endalert %}

### Step 6: Upload your JSON credentials to Braze
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ Creating a new key will not remove your legacy ones. If you accidentally delete

![The selected service account with the "Add Key" menu open.]({% image_buster /assets/img/android/push_integration/generate_json_credentials/select-create-new-key.png %})

Choose **JSON**, then select **Create**.
Choose **JSON**, then select **Create**. If you created your service account using a different Google Cloud project ID than your FCM project ID, you'll need to manually update the value assigned to the `project_id` in your JSON file.

Be sure to remember where you downloaded the key—you'll need it in the next step.

![The form for creating a private key with "JSON" selected.]({% image_buster /assets/img/android/push_integration/generate_json_credentials/select-create.png %}){: style="max-width:65%;"}

Expand Down Expand Up @@ -153,6 +155,10 @@ If you delete your new credentials, you cannot restore them later. You'll need t

Your new credentials start working as soon as you upload them to Braze. To test them, select **Test Credentials**. If you get an error, you can always [revert your credentials](#reverting-your-credentials).

### Do I need to migrate to FCM for my unused apps or development apps?

No. However, your unused apps and development apps will continue to show a warning message asking you to migrate. To remove this message, you can either upload new credentials, or delete these apps from your workspace. If you choose to delete these apps, be sure to check with your team first in case someone is using them.

### Where can I check error messages?

You can review push notification errors in your [message activity log]({{site.baseurl}}/user_guide/administrative/app_settings/message_activity_log_tab/).
Expand All @@ -172,3 +178,7 @@ You'll continue to see this warning message if there's at least one Android app
### After migrating, how long until I send push notifications again?

After migrating, you can start sending push notifications using your new credentials right away.

### What if I created my service account using a different project than my FCM project?

If you created your service account using a different Google Cloud project ID than your FCM project ID, you'll need to manually update the value assigned to the `project_id` in your JSON file after you [create a new one](#step-6-generate-json-credentials).
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,27 @@ channel: push

# Push notification integration

> Learn how to integrate basic iOS push notifications for the Cordova Braze SDK. Rich push notifications and push stories are already available for Android by default. To integrate full push notification capabilities for either platform, see the [iOS]({{site.baseurl}}/developer_guide/platform_integration_guides/swift/push_notifications/integration/) or [Android]({{site.baseurl}}/developer_guide/platform_integration_guides/android/push_notifications/android/integration/standard_integration/) push notification integration guides.
> Learn how to integrate push notifications for the Cordova Braze SDK.

{% multi_lang_include cordova/prerequisites.md %}

## Basic push features

By default, basic push notification features are enabled in the Braze Cordova plugin. You can disable these features by [customizing your XML configurations]({{site.baseurl}}/developer_guide/platform_integration_guides/cordova/initial_setup/customizations/#customization-options). For more in-depth native push notification features, see the [iOS]({{site.baseurl}}/developer_guide/platform_integration_guides/swift/push_notifications/integration/) and [Android]({{site.baseurl}}/developer_guide/platform_integration_guides/android/push_notifications/android/integration/standard_integration/) push notification guides.

## Extended push features

{% alert important %}
Anytime you add, remove, or update your Cordova plugins, Cordova will overwrite the Podfile in your Xcode project. This means you'll need to repeat this process anytime you modify your Cordova plugins.
{% endalert %}

{% multi_lang_include cordova/prerequisites.md %}

## Rich push notifications
### Rich push notifications

### Step 1: Create a notification service extension
#### Step 1: Create a notification service extension

In your Xcode project, create a notification service extension. For a full walkthrough, see [iOS Rich Push Notifications Tutorial](https://braze-inc.github.io/braze-swift-sdk/tutorials/braze/b2-rich-push-notifications).

### Step 2: Add a new target
#### Step 2: Add a new target

Open your Podfile and add `BrazeNotificationService` to the notification service extension target [you just created](#step-1-create-a-notification-service-extension). If `BrazeNotificationService` is already added to a target, remove it before continuing. To avoid duplicate symbol errors, use static linking.

Expand All @@ -47,7 +53,7 @@ target 'MyAppRichNotificationService' do
end
```

### Step 3: Reinstall your CocoaPods dependencies
#### Step 3: Reinstall your CocoaPods dependencies

In the terminal, go to your project's iOS directory and reinstall your CocoaPod dependencies.

Expand All @@ -56,13 +62,13 @@ cd PATH_TO_PROJECT/platform/ios
pod install
```

## Push stories
### Push stories

### Step 1: Create a notification content extension
#### Step 1: Create a notification content extension

In your Xcode project, create a notification content extension. For a full walkthrough, see [iOS Push Stories Tutorial](https://braze-inc.github.io/braze-swift-sdk/tutorials/braze/b3-push-stories/).

### Step 2: Configure your push app group
#### Step 2: Configure your push app group

In your project's `config.xml` file, configure the push app group [you just created](#step-1-create-a-notification-content-extension).

Expand All @@ -76,7 +82,7 @@ Replace `PUSH_APP_GROUP` with the name of your push app group. Your `config.xml`
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
```

### Step 3: Add a new target
#### Step 3: Add a new target

Open your Podfile and add `BrazePushStory` to the notification content extension target [you created previously](#step-1-create-a-notification-content-extension). To avoid duplicate symbol errors, use static linking.

Expand All @@ -96,7 +102,7 @@ target 'MyAppNotificationContentExtension' do
end
```

### Step 4: Reinstall your CocoaPods dependencies
#### Step 4: Reinstall your CocoaPods dependencies

In the terminal, go to your iOS directory and reinstall your CocoaPod dependencies.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -425,9 +425,9 @@ The `class_type` is used to determine which of your custom objects will be initi
{% endtab %}
{% endtabs %}

## Sample use cases
## Use cases

There are three sample customer use cases provided. Each use case offers a detailed explanation, relevant code snippets, and a look into how Content Card variables may look and be used in the Braze dashboard:
We've provided three use cases below. Each use case offers a detailed explanation, relevant code snippets, and a look into how Content Card variables may look and be used in the Braze dashboard:
- [Content Cards as supplemental content](#content-cards-as-supplemental-content)
- [Content Cards in a message center](#content-cards-in-a-message-center)
- [Interactive Content Cards](#interactive-content-cards)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ extension AppboyManager: ABKInAppMessageUIDelegate {
{% endtab %}
{% endtabs %}

## Sample use cases
## Use cases

There are three sample customer use cases provided. Each use case offers a detailed explanation, relevant code snippets, and a look into how in-app messages may look and be used in the Braze dashboard:
We've provided three use cases below. Each use case offers a detailed explanation, relevant code snippets, and a look into how in-app messages may look and be used in the Braze dashboard:
- [Custom slide-up in-app message](#custom-slide-up-in-app-message)
- [Custom modal in-app message](#custom-modal-in-app-message)
- [Custom full in-app message](#custom-full-in-app-message)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ static NSString *const AppboyAPNSDictionaryAttachmentTypeKey = @"type";

To manually display push with a Braze payload, download the content from the value under `AppboyAPNSDictionaryAttachmentURLKey`, save it as a file with the file type stored under the `AppboyAPNSDictionaryAttachmentTypeKey` key, and add it to the notification attachments.

### Sample code
### Example code

You can write the service extension in either Objective-C or Swift.

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
nav_title: Integration
article_title: Content Card Integration for iOS
platform: Swift
page_order: 1
page_order: 0
description: "This article covers the integration steps, data models, and card-specific properties available in the Swift SDK."
channel:
- content cards
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
nav_title: tvOS
article_title: Content Cards for tvOS
platform: tvOS
page_type: reference
description: "Learn how to customize your Content Cards for Apple's tvOS platform."
page_order: 1
---

# Customizing Content Cards for tvOS

> Learn how to customize your Content Cards for Apple's tvOS platform.

## Setting up your tvOS app

### Step 1: Create a new iOS app

In Braze, select **Settings** > **App Settings**, then select **Add App**. Enter a name for your tvOS app, select **iOS**&#8212;_not tvOS_&#8212;then select **Add App**.

![ALT_TEXT.]({% image_buster /assets/img/tvos.png %}){: style="width:70%"}

{% alert warning %}
If you select the **tvOS** checkbox, you will not be able to customize Content Cards for tvOS.
{% endalert %}

### Step 2: Get your app's API key

In your app settings, select your new tvOS app then take note of your app's API key. You'll use this key to configure your app in Xcode.

![ALT_TEXT]({% image_buster /assets/img/tvos1.png %}){: style="width:70%"}

### Step 3: Integrate the Braze Swift SDK

Use your app's API key to integrate the [Braze Swift SDK](https://github.com/braze-inc/braze-swift-sdk) into your tvOS project in Xcode. When you're finished, you can [customize your Content Cards for tvOS](#customizing-your-in-app-messages).

## Customizing your content cards

Because Braze doesn't provide a default UI for Content Cards on tvOS, you'll need to customize them yourself. For a full walkthrough, see our step-by-step tutorial: [Customizing Content Cards for tvOS](https://braze-inc.github.io/braze-swift-sdk/documentation/braze/content-cards-customization/). For a sample project, see [Braze Swift SDK samples](https://github.com/braze-inc/braze-swift-sdk/tree/main/Examples).
Loading