---
# System prepended metadata

title: Zurg 馬甲 流程
tags: [Work]

---

# Zurg 馬甲 流程
###### tags:`Work`

[TOC]

## 1. 馬甲到底是什麼？
簡單說就是開啟一個APP，可是開啟時會發現內容不同。可隱藏原本的APP目的或功能。
主要分**Ａ畫面**與**Ｂ畫面**，所謂的A畫面是給大眾相信有的內容，而B畫面是在滿足規則後會顯示給使用者看。

## 2. 馬甲主要目的？
可以避免一些上架時會被擋掉的內容或設計，在上架後開啟去顯示他們。因此**可以「提升」上架機率**，而**不是100%會成功**。

## 3. Zurg到底是什麼？
Zurg是公司開發的後台，主要去管理馬甲的進度與控制AB畫面的開關。因此，在公司的馬甲app程式裡會看到會打一個zurg的api，為了：
1. 驗證此APP是馬甲。
2. 對應是否package/app id符合Zurg列表的app。
3. 確認是否B面是開啟/關閉。

>**目前此API為:**
>https://zurg-alpha-api.ionet.com.tw/api/v2/application/getData?app_key=appKey
>
>「appKey」在每個馬甲都不同，請務必與同仁確認當下是用哪一個。
>[color=orange]

## 4. 馬甲APP實作方式
1.  開啟APP時會先檢查是否:
    1.1. 是點link進來app的。是的情況下，取link的後半段。
    1.2. 有拷貝文字。
    1.3. 有文字存在app裡頭。
    **備註:** 都沒有的情況下，開啟A面。
2.  取一步的資料去打 Zurg API。拿API Response後，須確認:
    2.1. 有資料回傳。
    2.2. id/package 符合。
    2.3. appKey相同。
    2.4. 是否B面有開啟。
    **備註:** 只要一個不符合，開啟A面。
3.  把 appKey存入app暫存空間裡。
4.  開啟FlutterActivity，也就是B面。

### 4.1 坎入頁面馬甲 V.S 坎入Framework/AAR(Flutter-based)馬甲
>**坎入頁面馬甲**會提供一個網址在Zurg API。如果有開啟B面，並且提供URL，需準備一個WebView開啟此URL當B面。[color=darkgreen]

>**坎入Framework/AAR(Flutter-based)馬甲**就會把使用Flutter開發的專案輸出一個Framework(iOS)/AAR(Android)讓馬甲坎入。在符合開啟B面時，就必須要準備開啟FlutterActivity的動作。[color=purple]

## 5. Zurg 相關連結
>**後台:** https://zurg-alpha-admin.ionet.com.tw/
>Acc: admin , Pass: 333admin333 (2024/04/23)
>**備註:** 請依照當下決定的domain更新。[color=orange]

## 6. 馬甲開發注意事項
1. 避免民感字或圖在APP裡頭。
2. A面的內容可以跟B面無關，只要考慮A面內容是可上架的。
3. 確保A面內容設計不跟已上架的APP有衝突。
4. 確保「B面使用的權限」都有在A面使用到，避免無使用在審核的追問。
5. 減少多送審的平率，因為每一次都是一次風險。
6. 上架完畢不代表就無風險，還是有可能被下架的可能性。
7. **萬次提醒：馬甲上架不是100%成功**。
