Calendar special event/sales overview

OVERVIEW

INTRODUCTION

Throughout the year, there are some special events and dates that are worth mentioning on our apps, and make a special event and a sale for them (New Year's Eve, St-Patrick, Christmas, ...). 

For each Event we would need a dedicated design and push notifications - to make this a special sale/event and to make our players aware that we are celebrating those events in our game as well.

Additionally, we could also link such event with an In-App Events to promote on the App Store. By doing so, we are having some chances to be feature by the store and increase our visibility. 

PROCESS

To do so, the monetization team should create a Trello Card to request the design and the implementation on the App. Multiple tasks from multiple team should be done to make sure the LiveOps is available in the App:

  1. Determination of the Offer + Settings (Monetization Team)
  2. Trello Card creation + Brief (Monetization Team)
  3. Design Creation (Design Team)
  4. I2Loc Keys Creation (Monetization Team)
  5. Notification Creation via OneSignal (Monetization Team)
  6. In-App Events Creation - Keywords and Design (ASO Team)
  7. Translations Request via Slack (Monetization Team with the help of Content Team)
  8. Design Implementation (Development Team)
  9. I2Loc + OneSignal Update with all translations from GTMApp (Monetization Team)
  10. Unity Gaming Services Settings (Monetization Team)
  11. Tracking Update in Odoo Calendar (Monetization Team)
  12. Quality Insurance (Quality Assurance Team + Monetization Team)

DETERMINATION OF THE OFFER

The Monetization team should schedule the LiveOps they want to set up. To do so, they will have to create each offer and add them to the Odoo Calendar. 

When determining the offer, the should prepare the settings of each offer: what they want to give to the users:

  • If it's a shop boost, how much to boost?
  • If it's a shop offer, which type of offer? 
  • If it's a piggy bank offer, is it a discount, extra rewards added or a bigger bank? 

Such settings, should be determined before the creation of the Trello Card. 

They should be shared with Xyz, to make sure they are not breaking the Economy.

TRELLO CARD CREATION

The Brief should be complete to make the job of design and development teams as easy as possible. By making sure we are listing all the required information, we are also reducing the number of back and forth and save time. 

Requirements: 

  • A clear Title ➡️ [LiveOps] Type of LiveOps - Date Theme - Event Name
  • Assign Members ➡️ Monetization / Michaël / Xyz / Alex & Sanja / Husam / (ASO Team)
    From there, Design & Dev leads will assign the person in charge of the creation & implementation
    Xyz should be added to each card, so he can follow up our offers. 
  • Add the general Due Date ➡️ The date when the Event should be available in the App (at least 2 weeks before the event date)
  • Elements Requirements ➡️ Pop-up / Floating Icon / Shop Banner / Piggy Theme / Background Theme / In-App Events Wording & Design / Deep-links to link with Notifications & In-App Events
  • Design Brief with examples (for example: Easter, having eggs or bunny)
  • Copywriting in English
  • Design Examples to illustrate
  • Checklist with all the Requirements:
    • Due Date Design Creation - Design Team (via the checklist)
    • Due Date Implementation - Development Team (via the checklist feature)
  • Mention of In-App Events related to this Event or not (to be determine by ASO Team)​

The Trello Card management will be done by the Monetization Team. Moving the card from Open to Close. 

Template - https://trello.com/c/2VSed6U2/1074-liveops-type-of-live-ops-month-theme

DESIGN CREATION

Monetization team should synchronised with design team in advance: to make sure the specific designs are implemented on time in the app, the request should be done at latest two months before the event date

Design Needed:

  • Pop-up
  • Floating Icon
  • (Shop banner) - For a Shop Boost or a Shop Offer LiveOps
  • In-App Events Banners - For the App Store

Specific requirements according to the Type of LiveOps:

Piggy Bank: Pop-up / Floating Icon
Creation of a new piggy design which will be used during an entire month. This new design will need to be implement of each type of Piggy Offer. By now, we won't adapt the design of the piggy on each map. 

Endless Offer: Pop-up / Floating Icon
Creation of a new pop-up background which will be used for a two-week period of time. The goal is to keep the core feature but to redesign the background to match the event. 

Shop Boost: Pop-up / Floating Icon / Shop Banner / Boost Icon in the Shop
Creation of a new pop-up background and shop banner. The format of the pop-up should remain similar to what we are used to have currently, but the background image should be adapted to match the theme of the LiveOps.

Shop Offer: Pop-up / Floating Icon / Shop Banner / Boost Icon in the Shop
When creating a new design for a specific ShopOffer, design team could have 2 ways to proceed:

  • Use the “Today’s Deal” pop-up, and adapt the background to match the theme (as the frame is quite classic)
  • Use the “Special Rewards” pop-up, and replace the luggage by another element related to the theme live-ops

Once the designs are done by the design team, let's make sure they are stored in this Google Drive

In-App Events: Depending if the event will be promoted on the store or not, some visuals will be requested by the ASO Team. Best Practice example here.  If yes, the ASO team will need two elements from design team: 

  • Event Card Image (Format 16:9)
  • Event Detail Page Image (Format 9:16)

I2LOC KEYS CREATION

The Monetization team will create new keys in the I2Loc Solitaire, in the Shop Tab. 

To proceed: 

  1. Create new rows at the bottom of the tab "Shop"
  2. Give a specific key name in column A by following this template: LiveOpsType/EventName/TextNature
    1. LiveOpsType: ShopBoost, ShopOffer, Endless, ...
    2. EventName: Easter, MomDay, ...
    3. TextNature: Title, Text, CTA, ...
  3.  Add the English translation
  4. Copy/Paste the English translation in all languages (+ red font) until the quick translation request is done
  5. Fill the translation of each language

Notes: When requesting quick translations, let's make sure the number of characters fit with the design. It's quite frequent that in some languages the translation is way longer than the English Version. Let's make sure we have enough space to properly display the entire text, or try to adapt with a shorter translation.

PUSH NOTIFICATION CREATION

By default, our notifications are composed of a title and a text. 

If needed, we can only write a text, and by default, the App title will be shown as notification title.

The title should not be longer than 30 characters. If so, it won't be fully displayed and "..." will replace the end.

When creating the brief in the Trello Card, the Monetization team should directly prepare the notification texts. This task could be done directly from inspiration of by using ChatGPT. 

Then, the Monetization team should check with Kat to make a proofreading of the texts. Once the texts have been approved, a quick translation request can be done (see Translation Request part).

The Monetization team should also make sure they have a deep-link to redirect the users to the LiveOps. 

From there, the Monetization team will create the new push notification in OneSignal

 Monetization team will have to:

  • Create a push notification with a title
  • Send the notification to our subscribed users (= users who allow to receive notification)
  • Upload all the texts (this task can be done via this spreadsheet)
  • Platform settings: Set Badge to 1 / Relevance Score to 1 / Android Category to Solitaire Android w/ Sound)
  • Add the Deep-links to the Notification, so that the users is directly redirect to the LiveOps
  • Schedule the date (Date of the Event at 10 AM European Time)
  • Schedule the hour (Around 6 PM most of the time = End of working Day / Not a proper hour but 6:02PM for example)

TRANSLATION REQUEST

As seen above, some translations will be requested: 

  • Pop-up Copywriting (title/text/...)
  • Push Notification (title/text)

The Monetization team will send a message in the #quicktranslation Slack channel. They will indicate what needs to be translated and in which language. They will also have to update a screenshot to give more context to the quick translation. The design should be uploaded in a specific Google Drive, translators have access.

The first step is to require a proofreading from Kat. Once Kat validates the text, the Monetization team should ask to Kseniia to request the translation. Kseniia will send us a translation ID from GTMAPP

 A week after the translation request, the monetization team will use the website GTMAPP to look for the translation via the ID. From there they will be able to get all the translations requested. 

The Monetization team will have to add these translations in the I2Loc, when it's a pop-up copywriting request ; or will have to add these translations in the OneSignal push notification template, when it's a push notification.

DESIGN IMPLEMENTATION & QUALITY ASSURANCE

Once the designs are validated by both Monetization and Design team, the Development team should implement them inside the app. This task should also be done in advance to make sure designs can be added to a build.

Once the design is implement the developer will indicated via Trello that the task can be tests in the latest build. This testing phase should be handled by the monetization team. Via the debugger menu, they will be able to trigger the pop-up inside the app. 

From there, they will have to check the following points: 

  • Is the design implemented matching with what the designer made?
  • Is the animation matching? 
  • Is everything set up properly?

UNITY GAMING SERVICES - SETTINGS

Once everything is ready, the monetization team will have to set up the Event. 

Step1: To do so, they will have to create first a new line in the Grand Solitaire Doc, tab "LiveOps (JSON Builder)". The following information should be filled:

  • guid (unique text)
  • Type
  • DateStart
  • DateEnd
  • Duration (minutes)
  • Display Max
  • Gap Between Display (minutes)
  • value
  • data
  • prefab
  • LevelMin
  • levelMax
  • spendMin
  • spendMax
  • coinMin
  • coinMax

Once they are completed, a JSON will be created in column A. 

Step 2: Create an Override in UGS

  1. Make sure, the Production Environment is selected
  2. Create Override
  3. Name the Overrides, according to the name set up in the Spreadsheet
  4. In Targeting, select the JEXL with the condition "true" (Done by default)
  5. Shouse the Variant according to the Type of LiveOps
  6. Content Type: Config Overrides
  7. Select Key: Type "liveops_" and search for the type matching
  8. Edit the Value of the JSON by pasting the JSON created in step 1
  9. Edit the Start Date and End Date to make it matchi with the value set up in the Spreadsheet

Notes:

When creating a LiveOps "Extra Reward Piggy", you will also have to select a second content type: "Real Money Purchase". Search for the value "Piggy Bank Rewards" and edit the rewards. 

There is no key "liveops_tripleoffer" or "liveops_wildcardparty". Use the key "liveops_tournament" to set up such offer.

TRACKING UPDATE IN ODOO CALENDAR

We are using Odoo as a calendar for our LiveOps Events. 

The Monetization team should list all the events in it. They have to set up the title of the Event, the date and indicate the different states:

  • Remote Created
  • Notification
  • Dev Done
  • Assets Ready

USEFUL LINKS


To do: 

  • Loom OneSignal/UGS?