日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

事件管理(老版)

本文對自動化營銷目錄下的老版事件管理頁面進行介紹。老版事件上報的數據僅可用于行為事件組件開始的自動化營銷活動。

說明

Quick Audience現已提供新版事件上報功能,新版功能支持事件數據參與ID Mapping,實現在不同渠道識別同一用戶,便于在自動化營銷中靈活設置營銷方案,并且支持事件數據存儲于分析源,作為普通用戶行為表使用,詳情請參見新版事件上報文檔

若您希望使用新版事件上報功能,請聯系我們的技術人員幫助您將現有事件遷移到新版。遷移后,您需要按照新版事件上報流程購買Tablestore實例,進行相關配置,按新版接口調整事件上報程序,實現實時事件數據上報。

在自動化營銷使用行為事件數據前,需要定義事件,并開發腳本實現上報事件。

事件需要由您自行定義,自行實現事件上報。

支持通過以下渠道上報自定義事件:

  • 您的一方應用:APP、小程序、網頁(含H5頁面)

  • 第三方系統應用

例如:將用戶在您的H5頁面中點擊某個按鈕、購買某個產品等動作作為一個事件,上報至Quick Audience。

一方應用或第三方系統通過加入腳本,將應用自行采集的log日志轉化為標準的MQ事件模型,并將其上報到Quick Audience,請參見上報事件

自定義事件

操作步驟:

  1. 選擇工作空間>配置管理>自動化營銷>事件管理image

  2. 單擊右上角新建事件

  3. 在彈出的對話框中,配置以下參數:436

    參數

    說明

    應用類型

    選擇事件上報渠道的應用類型,支持:

    • APP

    • 小程序

    • WEB:即網頁,含H5頁面

    • 第三方系統

    渠道名稱

    從下拉列表選擇渠道名稱。

    單擊下拉列表中的添加渠道名稱、下拉列表右側的編輯渠道名稱,可分別新建、編輯渠道名稱。具體操作,請參見下面的添加渠道名稱子步驟。

    事件編碼

    輸入或選擇事件編碼。由埋點開發人員定義事件編碼,用于唯一標識一個事件。

    事件名稱

    輸入事件名稱。

    事件屬性

    添加事件時,需要存儲的附加信息可以用事件屬性進行存儲。例如:事件為“成功購買理財產品”,可添加“理財產品類型”為事件屬性。

    單擊添加事件屬性,可增加一行事件屬性。

    單擊移除,可移除對應的事件屬性。

    事件屬性數據類型

    選擇事件屬性的數據類型為文本型或數值型。

    事件擴展屬性ID

    輸入事件擴展屬性ID。

    由埋點開發人員定義屬性ID,用于存儲采集事件的附屬信息,如app采集事件為“購買商品”,屬性名稱可為“商品ID”,屬性ID可對應“item_id”。

    事件擴展屬性名稱

    輸入事件擴展屬性名稱。

    • 添加渠道名稱:若單擊添加渠道名稱,在彈窗中輸入渠道名稱、APP_KEY,其中APP_KEY可以唯一標識一個渠道,一般為采集平臺上定義的appkey。34253

    • 編輯渠道名稱:若單擊編輯渠道名稱,出現如下圖所示的彈窗。

      • 單擊編輯,可修改渠道名稱。

      • 若渠道下無事件,單擊刪除,可刪除該渠道的記錄。

      23465
  4. 單擊確認,完成新建事件。

管理事件

事件列表如下圖所示。26

您可對事件進行以下管理操作:

  • 搜索:頁面右上角支持通過名稱或事件編碼搜索。

  • 篩選:頁面右上角支持篩選指定渠道的事件。

  • 編輯:單擊自定義事件對應的編輯,可編輯事件。支持修改事件名稱、事件擴展屬性名稱,以及添加事件屬性,不支持修改其他參數或刪除事件屬性。具體操作與新建事件時相同。

  • 刪除:單擊自定義事件對應的刪除,可刪除未被自動化營銷任務使用的事件。如事件已被使用,則不可刪除。

上報事件

一方應用或第三方系統的研發人員需要編寫腳本,將應用自行采集的log日志轉化為標準的MQ事件模型,并將其上報到Quick Audience。事件、用戶信息上報鏈路如下圖所示。37

事件上報需要安裝阿里云提供的Java SDK,使用行為事件消息上報接口、用戶身份標識上報接口。說明如下:

使用準備

  • 安裝Java SDK

    1. 安裝阿里云Java核心庫,請參見安裝Alibaba Cloud SDK for Java

      說明

      SDK使用說明,請參見Java示例

    2. 安裝QuickAudience Java SDK。打開Aliyun Java SDK QuickAudience Public,下載并安裝QuickAudience Java SDK。

    3. 在項目目錄下的pom.xml文件中,添加Maven依賴。添加依賴后,Maven項目管理工具會自動下載相關JAR包。

      <!--引入阿里云Core 包-->
      <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.5.2</version>
      </dependency>
      
      <!--引入QuickAudience 阿里云SDK-->
      <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-retailadvqa-public -->
      <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>aliyun-java-sdk-retailadvqa-public</artifactId>
          <version>3.3.16</version>
      </dependency>
  • 接口通用入參

    參數

    含義

    必填

    示例

    accessId

    QA實例ID,調用方識別碼

    retailadvqa-cn-xxxxxxxxx

    organizationId

    QA組織ID

    56621289-820e-433a-9947-xxxxxxxxx

    • accessId:請使用購買QA的主賬號進入訂單列表,單擊QA(智能用戶增長)訂單對應的詳情,進入訂單詳情頁面獲取實例名稱。4356789

    • organizationId:請通過瀏覽器的開發者工具,在登錄QA時獲取,,如下圖所示。image.png

  • OpenAPI Endpoint列表

    地域

    地域

    Endpoint

    cn-shanghai

    上海

    quicka-public.cn-shanghai.aliyuncs.com

    cn-shenzhen

    深圳

    quicka-public.cn-shenzhen.aliyuncs.com

    cn-zhangjiakou

    張家口

    quicka-public.cn-zhangjiakou.aliyuncs.com

行為事件消息上報接口

  • 接口入參

    參數

    含義

    參數類型

    必填

    示例

    eventMessageModelListStr

    行為事件消息體列表

    String

    [ { "organizationId": "組織ID,獲取方法見接口通用入參", "workspaceId": "空間ID,可在空間管理獲取", "customerId": "用戶ID", "eventSourceCode": "事件渠道編碼", "eventCode": "事件編碼", "eventTime": 1651114368518, "extendAttributes": { "事件屬性": "事件屬性值", "outBizId": "唯一業務ID,必填" }, "customerIdList": [ { "customerId": "xxxxxxxxx", "idMapping": "mobile" }, { "customerId": "xxxxx@alibaba.com", "idMapping": "email" } ], "v": 1 } ]

  • 接口出參

    參數

    含義

    參數類型

    示例

    success

    接口調用成功與否

    Boolean

    true

    errorCode

    錯誤碼:接口調用失敗時

    String

    ES0110000002

    errorDesc

    錯誤信息:接口調用失敗時

    String

    鑒權失敗!

    traceId

    請求ID:便于問題跟蹤

    String

  • 接入Demo

    import com.alibaba.fastjson.JSONObject;
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.retailadvqa_public.model.v20200515.RecieveEventMessageRequest;
    import com.aliyuncs.retailadvqa_public.model.v20200515.RecieveEventMessageResponse;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 上報事件消息
    */
    public class RecieveEventMessage {
        // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        // 本示例以將AccessKey 和 AccessKeySecret 保存在環境變量為例說明。
        // 保存環境變量的方法參考如下:
        // Linux和macOS系統配置方法
        // 執行以下命令:
        // export SCA_AK_ENV=<access_key_id>
        // export SCA_SK_ENV=<access_key_secret>
        // <access_key_id>替換為已準備好的AccessKey ID,<access_key_secret>替換為AccessKey Secret。
    
        static String accessKey = System.getenv("SCA_AK_ENV");
        static String accessSecret = System.getenv("SCA_SK_ENV");
        static String regionId = "cn-shanghai";
        static String product = "retailadvqa-public";
        static String endpointUrl = "quicka-public.cn-shanghai.aliyuncs.com";
    
        static IAcsClient client = null;
        static {
            DefaultProfile profile =
                    DefaultProfile.getProfile(
                            regionId,          // 地域ID
                            accessKey,         // RAM賬號的AccessKeyID
                            accessSecret       // RAM賬號AccessKeySecret
                    );
            try {
                DefaultProfile.addEndpoint(
                        regionId,
                        product,
                        endpointUrl
                );
            } catch (Exception e) { }
            client= new DefaultAcsClient(profile);
        }
    
        public static void recieveEventMessage() throws ClientException {
            RecieveEventMessageRequest eventMessageRequest = new RecieveEventMessageRequest();
            eventMessageRequest.setAccessId("retailadvqa-xx-xxxxxxxxx");
            eventMessageRequest.setOrganizationId("56621289-820e-433a-9947-xxxxxxxxx");
    
    
            EventMessageModel messageModel = new EventMessageModel();
            messageModel.setOrganizationId(eventMessageRequest.getOrganizationId());
            messageModel.setCustomerId("customer001");
            messageModel.setEventSourceCode("eventsource001");
            messageModel.setEventCode("event001");
            messageModel.setEventTime(System.currentTimeMillis());
            Map<String, String> extendAttributes = new HashMap<>();
            extendAttributes.put("key1", "value1");
            extendAttributes.put("key2", "123456");
            messageModel.setExtendAttributes(extendAttributes);
    
            // 批量上報接口,批量限制100。
            eventMessageRequest.setEventMessageModelListStr(JSONObject.toJSONString(Arrays.asList(messageModel)));
            System.out.println(JSONObject.toJSONString(Arrays.asList(messageModel)));
    
            RecieveEventMessageResponse recieveEventMessageResponse = client.getAcsResponse(eventMessageRequest);
            System.out.println("result = " + JSONObject.toJSONString(recieveEventMessageResponse));
        }
    
        public static void main(String... args) throws ClientException {
            recieveEventMessage();
        }
    
        @Data
        public static class EventMessageModel {
    
            @ApiModelProperty("組織Id")
            String organizationId;
    
            @ApiModelProperty(required = true, value = "用戶/粉絲Id")
            String customerId;
    
            @ApiModelProperty("app_key。如果事件消息中沒有app_key,自動化營銷任務計算將不受渠道限制")
            String eventSourceCode;
    
            @ApiModelProperty(required = true, value = "事件編碼")
            String eventCode;
    
            @ApiModelProperty(required = true, value = "事件實際發生的時間")
            Long eventTime;
    
            @ApiModelProperty("事件擴展屬性ID和對應的值")
            Map<String, String> extendAttributes = new HashMap<>();
    
            @ApiModelProperty("事件消息模型版本號")
            Integer v = 1;
        }
    }

用戶身份標識上報接口

  • 接口入參

    參數

    含義

    參數類型

    必填

    示例

    customerMessageModelListStr

    用戶身份標識消息體列表

    String

    [{"customerId":"customer001","customerIdList":[{"customerId":"13888888888","idMapping":"mobile"}],"organizationId":"56621289-820e-433a-9947-xxxxxxxxx","v":1}]

  • 接口出參

    參數

    含義

    參數類型

    示例

    success

    接口調用成功與否

    Boolean

    true

    errorCode

    錯誤碼:接口調用失敗時

    String

    ES0110000002

    errorDesc

    錯誤信息:接口調用失敗時

    String

    鑒權失敗!

    traceId

    請求ID:便于問題跟蹤

    String

  • 接入Demo

    import com.alibaba.fastjson.JSONObject;
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.retailadvqa_public.model.v20200515.RecieveUserMessageRequest;
    import com.aliyuncs.retailadvqa_public.model.v20200515.RecieveUserMessageResponse;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    
    import java.util.Arrays;
    import java.util.List;
    
    /**
     * 上報用戶身份標識
     */
    public class RecieveCustomerMessage {
        // 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        // 本示例以將AccessKey 和 AccessKeySecret 保存在環境變量為例說明。
        // 保存環境變量的方法參考如下:
        // Linux和macOS系統配置方法
        // 執行以下命令:
        // export SCA_AK_ENV=<access_key_id>
        // export SCA_SK_ENV=<access_key_secret>
        // <access_key_id>替換為已準備好的AccessKey ID,<access_key_secret>替換為AccessKey Secret。
    
        static String accessKey = System.getenv("SCA_AK_ENV");
        static String accessSecret = System.getenv("SCA_SK_ENV");
        static String regionId = "cn-shanghai";
        static String product = "retailadvqa-public";
        static String endpointUrl = "quicka-public.cn-shanghai.aliyuncs.com";
    
        static IAcsClient client = null;
        static {
            DefaultProfile profile =
                    DefaultProfile.getProfile(
                            regionId,          // 地域ID
                            accessKey,         // RAM賬號的AccessKeyID
                            accessSecret       // RAM賬號AccessKeySecret
                    );
            try {
                DefaultProfile.addEndpoint(
                        regionId,
                        product,
                        endpointUrl
                );
            } catch (Exception e) { }
            client= new DefaultAcsClient(profile);
        }
    
        public static void recieveCustomerMessage() throws ClientException {
            RecieveUserMessageRequest recieveUserMessageRequest = new RecieveUserMessageRequest();
            recieveUserMessageRequest.setAccessId("retailadvqa-xx-xxxxxxxxx");
            recieveUserMessageRequest.setOrganizationId("56621289-820e-433a-9947-xxxxxxxxx");
            CustomerMessageModel customerMessageModel = new CustomerMessageModel();
            customerMessageModel.setOrganizationId(recieveUserMessageRequest.getOrganizationId());
            customerMessageModel.setCustomerId("customer001");
            CustomerIdModel idModel = new CustomerIdModel();
            idModel.setCustomerId("13888888888");
            idModel.setIdMapping("mobile");
            customerMessageModel.setCustomerIdList(Arrays.asList(idModel));
    
            // 消息上報,批量限制100。
            recieveUserMessageRequest.setCustomerMessageModelListStr(JSONObject.toJSONString(Arrays.asList(customerMessageModel)));
            System.out.println(JSONObject.toJSONString(Arrays.asList(customerMessageModel)));
            RecieveUserMessageResponse recieveUserMessageResponse = client.getAcsResponse(recieveUserMessageRequest);
            System.out.println("result = " + JSONObject.toJSONString(recieveUserMessageResponse));
        }
    
        public static void main(String... args) throws ClientException {
            recieveCustomerMessage();
        }
    
        @Data
        public static class CustomerMessageModel {
    
            @ApiModelProperty("組織Id")
            String organizationId;
    
            @ApiModelProperty(required = true, value = "用戶/粉絲Id")
            String customerId;
    
            @ApiModelProperty(required = true, value = "用戶身份標識ID信息:如 idfa、imei、mobile")
            List<CustomerIdModel> customerIdList;
    
    
            @ApiModelProperty("用戶身份標識消息模型版本號")
            Integer v = 1;
        }
    
        @Data
        public static class CustomerIdModel {
    
            @ApiModelProperty(required = true, value = "用戶/粉絲Id")
            String customerId;
    
            /**
             目前支持如下用戶ID類型:
             1)oneid
             2)email:電子郵件
             3)mobile:手機號
             4)taobao_id:淘寶ID
             5)taobao_nick:淘寶昵稱
             6)imei:手機IMEI
             7)idfa:手機IDFA
             8)mac_org:MAC地址
             9)weibo_id_org:微博ID
             10)alipay_id:支付寶ID
             11)open_id:微信OpenID
             12) union_id:微信UnionID
             */
            @ApiModelProperty(required = true, value = "用戶Id類型")
            String idMapping;
        }
    }