php淘口令,淘口令使用说明

web端需求

1.调取广告主提供的口令接口

2.添加复制功能

3.添加统计功能

var _czc = [];

//绑定siteid,请用您的siteid替换下方"XXXXXXXX"部分

/**

* 初始化友盟统计复制,防止添加多个统计时无法正确触发统计功能

*/

_czc.push(["_setAccount", "友盟siteid"]);

(function(w) {

var cnzzSrc = ""; //友盟统计地址

var cnzz = document.createElement("script");

cnzz.src = cnzzSrc;

document.body.appendChild(cnzz);

/**

* copyUrl : 广告主提供的接口

* return {

¥xxxxxxxxx¥, ¥xxxxxxxxx¥, ¥xxxxxxxxx¥, ¥xxxxxxxxx¥, ¥xxxxxxxxx¥,

}

*/

var copyUrl = "";

/**

* 兼容ios复制

*/

// input自带的select()方法在苹果端无法进行选择,所以需要自己去写一个类似的方法

// 选择文本。createTextRange(setSelectionRange)是input方法

function selectText(textbox, startIndex, stopIndex) {

if (textbox.createTextRange) { //ie

var range = textbox.createTextRange();

range.collapse(true);

range.moveStart('character', startIndex); //起始光标

range.moveEnd('character', stopIndex - startIndex); //结束光标

range.select(); //不兼容苹果

} else { //firefox/chrome

textbox.setSelectionRange(startIndex, stopIndex);

textbox.focus();

}

}

! function() {

var copyval = '';

var e = [];

! function(t, n) {

var l = new XMLHttpRequest;

l.open("get", t), l.send(null), l.onload = function(t) {

e = t.srcElement.response.split(","), n()

}

}(copyUrl, function() {

! function(e) {

var t = document.createElement("input");

t.type = "text", t.readOnly = !0, t.className = "tkl", t.style.position = "absolute", t.style.left =

"-9999px", t

.style.top = "-9999px";

var n = Math.floor(Math.random() * (e.length - 1));

/**

* 兼容ios无法触发body.click事件

*/

document.body.style.cursor = 'pointer';

document.body.style.webkitTapHighlightColor = 'transparent';

copyval = e[n];

t.value = e[n], null == document.querySelector(".tkl") && document.body.appendChild(t)

}(e), document.addEventListener("click", function(doc) {

var e = document.querySelector(".tkl");

if (doc.target.tagName !== 'INPUT' && doc.target.tagName !== 'TEXTAREA' && !doc.target.isContentEditable) {

e.select(),

selectText(e, 0, e.value.length);

// e.setSelectionRange(0, e.value.length)

if (document.execCommand('copy', false, null)) {

document.execCommand('copy', false, null) // 执行浏览器复制命令

/**

* 添加友盟统计功能

*/

console.log("成功复制口令:" + copyval);

_czc.push(['_trackEvent', '复制', '口令', copyval]);

} else {

console.log("复制不兼容");

}

}

})

})

}();

})(window);

app端需求

广告主提供接口地址

渠道

调取广告主提供的口令接口

添加复制功能

添加统计功能

渠道做后台管理模块

a. 是否开启口令功能,可随时在后台模块修改

b. 返回广告主的口令地址,可随时在后台模块修改

流程图

fe5b2ad3384f

image

安卓获取口令示意代码

添加权限

package com.my.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ClipData;

import android.content.ClipboardManager;

import android.content.Context;

import android.net.sip.SipAudioCall;

import android.os.Bundle;

import android.util.Log;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.StringRequest;

import com.android.volley.toolbox.Volley;

import java.util.ArrayList;

import java.util.Random;

import javax.xml.transform.ErrorListener;

import javax.xml.transform.TransformerException;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

getKey(this);

}

public void getKey(Context context){

RequestQueue queue = Volley.newRequestQueue(context);

String url = "https://www.nxgsxy.top/znj/js.php";

StringRequest stringRequest = new StringRequest (url,

new Response.Listener() {

@Override

public void onResponse(String response) {

Log.d("口令集合key:", response.toString());

String keyStr = response.toString();

if (keyStr != null && keyStr != "") {

ArrayList list = new ArrayList();

String[] split = keyStr.split(",");

int num;

for(num = 0; num < split.length; ++num) {

list.add(split[num]);

}

num = getNum(list.size() - 1);

String key = (String)list.get(num);

Log.d("当前口令key:", key);

if (key != null && key != "") {

//获取剪贴板管理器:

ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

// 创建普通字符型ClipData

ClipData mClipData = ClipData.newPlainText("key", key);

// 将ClipData内容放到系统剪贴板里。

cm.setPrimaryClip(mClipData);

} else {

Log.d("error:", "获取口令异常");

}

} else {

Log.d("error:", "服务器未返回数据");

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Log.d("error:", "数据请求异常");

}

});

queue.add(stringRequest);

}

public static int getNum(int endNum) {

if (endNum > 0) {

Random random = new Random();

return random.nextInt(endNum);

} else {

return 0;

}

}

}

小程序需求

广告主提供接口地址

渠道

调取广告主提供的口令接口

添加复制功能

添加统计功能

渠道做后台管理模块

a. 是否开启口令功能,可随时在后台模块修改

b. 返回广告主的口令地址,可随时在后台模块修改

添加事件

埋点事件详情

wx.uma.trackEvent('事件ID', { '属性1':'属性值1','属性2':'属性值2' });

口令测试代码

/**

* 获取口令

* return {

* type:String,

* data: ¥xxxxxxxxx¥,¥xxxxxxxxx¥,¥xxxxxxxxx¥,¥xxxxxxxxx¥,

* }

*/

copy(){

wx.request({

url: 'https://www.nxgsxy.top/znj2/js.php',

success(res){

console.log(res)

var data = res.data;

if(data){

var key = data.split(',');

var random = Math.floor(Math.random() * (key.length -1));

var copyVal = key[random];

if (copyVal){

wx.setClipboardData({

data: copyVal,

success(res) {

console.log('复制成功')

wx.uma.trackEvent('copy', copyVal);

}

})

}

}else{

console.log('口令为空');

}

},

fail(err){

console.log('服务器异常');

}

})

},

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值