腾讯广告转化归因

1、广告配置跳小程序落地页加粉

2、代码上传付费和添加企业微信

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Trace {

    private String click_id;
}
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Actions {
    private Long action_time;

    //标准行为类型,见 枚举值,当值为 'CUSTOM' 时表示自定义行为类型
    private String action_type;

    private Trace trace;


}
package com.ruoyi.advertise.tencent;

import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;

import java.security.SecureRandom;
import java.util.*;

/**
 * 腾讯广告
 */
public class TencentAdvertising {

    private static final String access_token="";

    private static final int NONCE_LENGTH = 32;  // 最大32个字符


    /**
     * 数据上报
     * 付费	PURCHASE
     * 加企业微信客服	SCANCODE
     */
    public static void dataReporting(String actionType,String clickId){
        long l = System.currentTimeMillis() / 1000;
        String nonce = generateNonce();
        String BASE_URL = "https://api.e.qq.com/v1.3/user_actions/add";
        String url = BASE_URL +"?access_token="+ access_token + "&timestamp=" + l+"&nonce"+nonce;
        Map<String,Object> map= new HashMap<>();
        map.put("account_id","");//推广帐号 id或 DataNexus 账号 id
        map.put("user_action_set_id","");//数据源 id,通过DataNexus创建数据源时分配的唯一 id。请注意,当填写的数据源类型为 {WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME} 时,必填 user_id 字段中的 wechat_openid (或 wechat_unionid) 及 wechat_app_id。

        Trace trace = Trace.builder().click_id(clickId).build();
        Actions build = Actions.builder().action_time(l).action_type(actionType).trace(trace).build();
        List<Actions> actions=new ArrayList<>();
        actions.add(build);
        map.put("actions",actions);
        String body = HttpRequest.post(url).contentType("application/json").body(JSON.toJSONString(map)).execute().body();
        System.out.println(body);
    }


    /**
     * 随机32
     * @return
     */
    public static String generateNonce() {
        // 使用 SecureRandom 生成一个随机字节数组
        SecureRandom secureRandom = new SecureRandom();
        byte[] randomBytes = new byte[NONCE_LENGTH];
        secureRandom.nextBytes(randomBytes);
        // 使用 Base64 编码将字节数组转换为字符串
        String nonce = Base64.getUrlEncoder().withoutPadding().encodeToString(randomBytes);
        // 如果编码后的字符串长度超过 32 个字符,截取前32个字符
        return nonce.substring(0, NONCE_LENGTH);
    }
    public static void main(String[] args) {
        String clickId="B.n1XsH68iJ1EnWSTg3QxDiURhhCxgROk1fibQEqvqSQPpe37JS49viWzF0fp94mzpyoM2Sc3sNnfGLRmiVlgIojjEoiitRXdvKBUsSgAOWMlC";
        dataReporting("SCANCODE",clickId);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值