android如何获取联络人所有资讯

android如何获取联络人所有资讯,第1张

android如何获取联络人所有资讯 获取联络人必须新增许可权

<uses-permission android:name="androidpermissionREAD_CONTACTS" />

如何获取手机联络人资讯

根据ContactsContractContactsCONTENT_URI查询ContentResolver里面的资料,逐个取值即可。

如何获取sim卡的联络人资讯

根据目前查询的资讯来看,sim联络人的uri有两种:

content:i/adn

content:sim/adn

挨个去取即可。

如何获取联络人所有栏位

package ihopemozyhomeutil;import javautilArrayList;import javautilList;import jsonJSONException;import jsonJSONObject;import androidcontentContext;import androiddatabaseCursor;import androidproviderContactsContractCommonDataKindsEmail;import androidproviderContactsContractCommonDataKindsEvent;import androidproviderContactsContractCommonDataKindsIm;import androidproviderContactsContractCommonDataKindsNickname;import androidproviderContactsContractCommonDataKindsNote;import androidproviderContactsContractCommonDataKindsOrganization;import androidproviderContactsContractCommonDataKindsPhone;import androidproviderContactsContractCommonDataKindsStructuredName;import androidproviderContactsContractCommonDataKindsStructuredPostal;import androidproviderContactsContractCommonDataKindsWebsite;import androidproviderContactsContractData;import androidutilLog;import ihopemozyhomedomainContacts;public class GetContactsInfo {private List<Contacts> list;private Context context;private JSONObject contactData;private JSONObject jsonObject;public GetContactsInfo(Context context) { thiscontext = context;}public String getContactInfo() throws JSONException { 获得通讯录资讯 ,URI是ContactsContractContactsCONTENT_URI list = new ArrayList<Contacts>(); contactData = new JSONObject(); String mimetype = ""; int oldrid = -1; int contactId = -1; Cursor cursor = contextgetContentResolver()query(DataCONTENT_URI,null, null, null, DataRAW_CONTACT_ID); int numm=0; while (cursormoveToNext()) { contactId = cursorgetInt(cursorgetColumnIndex(DataRAW_CONTACT_ID)); if (oldrid != contactId) { jsonObject = new JSONObject(); contactDataput("contact" + numm, jsonObject); numm++; oldrid = contactId; } 取得mimetype型别 mimetype = cursorgetString(cursorgetColumnIndex(DataMIMETYPE)); 获得通讯录中每个联络人的ID 获得通讯录中联络人的名字 if (StructuredNameCONTENT_ITEM_TYPEequals(mimetype)) { String display_name = cursorgetString(cursorgetColumnIndex(StructuredNameDISPLAY_NAME)); String prefix = cursorgetString(cursorgetColumnIndex(StructuredNamePREFIX)); jsonObjectput("prefix", prefix); String firstName = cursorgetString(cursorgetColumnIndex(StructuredNameFAMILY_NAME)); jsonObjectput("firstName", firstName); String middleName = cursorgetString(cursorgetColumnIndex(StructuredNameMIDDLE_NAME)); jsonObjectput("middleName", middleName); String lastname = cursorgetString(cursorgetColumnIndex(StructuredNameGIVEN_NAME)); jsonObjectput("lastname", lastname); String suffix = cursorgetString(cursorgetColumnIndex(StructuredNameSUFFIX)); jsonObjectput("suffix", suffix); String phoicFirstName = cursorgetString(cursorgetColumnIndex(StructuredNamePHONETIC_FAMILY_NAME)); jsonObjectput("phoicFirstName", phoicFirstName); String phoicMiddleName = cursorgetString(cursorgetColumnIndex(StructuredNamePHONETIC_MIDDLE_NAME)); jsonObjectput("phoicMiddleName", phoicMiddleName); String phoicLastName = cursorgetString(cursorgetColumnIndex(StructuredNamePHONETIC_GIVEN_NAME)); jsonObjectput("phoicLastName", phoicLastName); } 获取电话资讯 if (PhoneCONTENT_ITEM_TYPEequals(mimetype)) { 取出电话型别 int phoneType = cursorgetInt(cursorgetColumnIndex(PhoneTYPE)); 手机 if (phoneType == PhoneTYPE_MOBILE) { String mobile = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("mobile", mobile); } 住宅电话 if (phoneType == PhoneTYPE_HOME) { String homeNum = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("homeNum", homeNum); } 单位电话 if (phoneType == PhoneTYPE_WORK) { String jobNum = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("jobNum", jobNum); } 单位传真 if (phoneType == PhoneTYPE_FAX_WORK) { String workFax = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("workFax", workFax); } 住宅传真 if (phoneType == PhoneTYPE_FAX_HOME) { String homeFax = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("homeFax", homeFax); } 寻呼机 if (phoneType == PhoneTYPE_PAGER) { String pager = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("pager", pager); } 回拨号码 if (phoneType == PhoneTYPE_CALLBACK) { String quickNum = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("quickNum", quickNum); } 公司总机 if (phoneType == PhoneTYPE_COMPANY_MAIN) { String jobTel = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("jobTel", jobTel); } 车载电话 if (phoneType == PhoneTYPE_CAR) { String carNum = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("carNum", carNum); } ISDN if (phoneType == PhoneTYPE_ISDN) { String isdn = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("isdn", isdn); } 总机 if (phoneType == PhoneTYPE_MAIN) { String tel = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("tel", tel); } 无线装置 if (phoneType == PhoneTYPE_RADIO) { String wirelessDev = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("wirelessDev", wirelessDev); } 电报 if (phoneType == PhoneTYPE_TELEX) { String telegram = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("telegram", telegram); } TTY_TDD if (phoneType == PhoneTYPE_TTY_TDD) { String tty_tdd = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("tty_tdd", tty_tdd); } 单位手机 if (phoneType == PhoneTYPE_WORK_MOBILE) { String jobMobile = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("jobMobile", jobMobile); } 单位寻呼机 if (phoneType == PhoneTYPE_WORK_PAGER) { String jobPager = cursorgetString(cursorgetColumnIndex(PhoneNUMBER)); jsonObjectput("jobPager", jobPager); } 其他通讯地址 if (postalType == StructuredPostalTYPE_OTHER) { String otherStreet = cursorgetString(cursorgetColumnIndex(StructuredPostalSTREET)); jsonObjectput("otherStreet", otherStreet); String otherCity = cursorgetString(cursorgetColumnIndex(StructuredPostalCITY)); jsonObjectput("otherCity", otherCity); String otherBox = cursorgetString(cursorgetColumnIndex(StructuredPostalPOBOX)); jsonObjectput("otherBox", otherBox); String otherArea = cursorgetString(cursorgetColumnIndex(StructuredPostalNEIGHBORHOOD)); jsonObjectput("otherArea", otherArea); String otherState = cursorgetString(cursorgetColumnIndex(StructuredPostalREGION)); jsonObjectput("otherState", otherState); String otherZip = cursorgetString(cursorgetColumnIndex(StructuredPostalPOSTCODE)); jsonObjectput("otherZip", otherZip); String otherCountry = cursorgetString(cursorgetColumnIndex(StructuredPostalCOUNTRY)); jsonObjectput("otherCountry", otherCountry); } } } cursorclose(); Logi("contactData", contactDatatoString()); return contactDatatoString();}}

拍拍贷如何获取联络人

拍拍贷app 可以获取你的通讯录,新浪有借也一样

而且更加好用

它的话是利息按日计,随时还款。

而一般的网贷如借10000,按照目前不低的年化收益率10%来计算的话, 一个月利息是83左右。 计算公式你记一下 10000x10%=1000(这里得出的是一年的收益) 1000/12=83 (除以12个月,才得到你一个月的)

微锁屏获取联络人资讯有风险吗

国内的很多软体都申请了很多不需要的许可权,锁屏软体应该是不需要读取联络人资讯的,可以安装一些软体取消锁屏软体的读取联络人许可权。

android怎么获取联络人头像

必须先编辑成正方形,或你的联络人有自动减取功能,不然头像肯定变形!

手机常显示易信正在尝试获取联络人资讯

这应该是易信在读取你的联络人,以便获取已经用手机号码注册了易信的手机上的联络人,可以考虑解除安装易信(如果不经常用的话)其实很多软体都喜欢读取个人资讯。。

为什么百度HI新增联络人时总是正在获取联络人资讯

应该是网速慢,如果你确定你的网速正常,那有可能是百度系统出错了。

我也遇到过这种情况。

还有一种可能,就是你新增的联络人不存在,或名字输入错误。

什么软体可以汇出联络人所有资讯

360手机卫士、qq都提供了云端备份通讯录的功能。现在备份到云端伺服器上是最安全的,永远不会丢失,换手机前备份一下,新手机上就可以下载到。平日经常备份联络人资讯,安全可靠有保障。

android开发怎样获取通讯录联络人资讯

public class ContactsActivity extends ListActivity {

Context mContext = null;

/获取库Phon表字段/

private static final String[] PHONES_PROJECTION = new String[] {

PhoneDISPLAY_NAME, PhoneNUMBER, PhotoPHOTO_ID,PhoneCONTACT_ID };

/联络人显示名称/

private static final int PHONES_DISPLAY_NAME_INDEX = 0;

/电话号码/

private static final int PHONES_NUMBER_INDEX = 1;

/头像ID/

private static final int PHONES_PHOTO_ID_INDEX = 2;

/联络人的ID/

private static final int PHONES_CONTACT_ID_INDEX = 3;

/联络人名称/

private ArrayList<String> mContactsName = new ArrayList<String>();

/联络人头像/

private ArrayList<String> mContactsNumber = new ArrayList<String>();

/联络人头像/

private ArrayList<Bitmap> mContactsPhonto = new ArrayList<Bitmap>();

ListView mListView = null;

MyListAdapter myAdapter = null;

@Override

public void onCreate(Bundle savedInstanceState) {

mContext = this;

mListView = thisgetListView();

/得到手机通讯录联络人资讯/

getPhoneContacts();

myAdapter = new MyListAdapter(this);

setListAdapter(myAdapter);

mListViewsetOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<> adapterView, View view,

int position, long id) {

呼叫系统方法拨打电话

Intent dialIntent = new Intent(IntentACTION_CALL, Uri

parse("tel:" + mContactsNumberget(position)));

startActivity(dialIntent);

}

});

superonCreate(savedInstanceState);

}

/得到手机通讯录联络人资讯/

private void getPhoneContacts() {

ContentResolver resolver = mContextgetContentResolver();

获取手机联络人

Cursor phoneCursor = resolverquery(PhoneCONTENT_URI,PHONES_PROJECTION, null, null, null);

if (phoneCursor != null) {

while (phoneCursormoveToNext()) {

得到手机号码

String phoneNumber = phoneCursorgetString(PHONES_NUMBER_INDEX);

当手机号码为空的或者为空栏位 跳过当前回圈

if (TextUtilsisEmpty(phoneNumber))

continue;

得到联络人名称

String contactName = phoneCursorgetString(PHONES_DISPLAY_NAME_INDEX);

得到联络人ID

Long contactid = phoneCursorgetLong(PHONES_CONTACT_ID_INDEX);

得到联络人头像ID

Long photoid = phoneCursorgetLong(PHONES_PHOTO_ID_INDEX);

得到联络人头像Bitamp

Bitmap contactPhoto = null;

photoid 大于0 表示联络人有头像 如果没有给此人设定头像则给他一个预设的

if(photoid > 0 ) {

Uri uri =ContentUriswithAppendedId(ContactsContractContactsCONTENT_URI,contactid);

InputStream input = ContactsContractContactsopenContactPhotoInputStream(resolver, uri);

contactPhoto = BitmapFactorydecodeStream(input);

}else {

contactPhoto = BitmapFactorydecodeResource(getResources(), Rdrawablecontact_photo);

}

mContactsNameadd(contactName);

mContactsNumberadd(phoneNumber);

mContactsPhontoadd(contactPhoto);

}

phoneCursorclose();

}

}

/得到手机SIM卡联络人人资讯/

private void getSIMContacts() {

ContentResolver resolver = mContextgetContentResolver();

获取Sims卡联络人

Uri uri = Uriparse("content:i/adn");

Cursor phoneCursor = resolverquery(uri, PHONES_PROJECTION, null, null,

null);

if (phoneCursor != null) {

while (phoneCursormoveToNext()) {

得到手机号码

String phoneNumber = phoneCursorgetString(PHONES_NUMBER_INDEX);

当手机号码为空的或者为空栏位 跳过当前回圈

if (TextUtilsisEmpty(phoneNumber))

continue;

得到联络人名称

String contactName = phoneCursor

getString(PHONES_DISPLAY_NAME_INDEX);

Sim卡中没有联络人头像

mContactsNameadd(contactName);

mContactsNumberadd(phoneNumber);

}

phoneCursorclose();

}

}

class MyListAdapter extends BaseAdapter {

public MyListAdapter(Context context) {

mContext = context;

}

public int getCount() {

设定绘制数量

return mContactsNamesize();

}

@Override

public boolean areAllItemsEnabled() {

return false;

}

public Object getItem(int position) {

return position;

}

public long getItemId(int position) {

return position;

}

public View getView(int position, View convertView, ViewGroup parent) {

ImageView iamge = null;

TextView title = null;

TextView text = null;

if (convertView == null) {

convertView = LayoutInflaterfrom(mContext)inflate(

Rlayoutcolorlist, null);

iamge = (ImageView) convertViewfindViewById(Ridcolor_image);

title = (TextView) convertViewfindViewById(Ridcolor_title);

text = (TextView) convertViewfindViewById(Ridcolor_text);

}

绘制联络人名称

titlesetText(mContactsNameget(position));

绘制联络人号码

textsetText(mContactsNumberget(position));

绘制联络人头像

iamgesetImageBitmap(mContactsPhontoget(position));

return convertView;

}

}

}

微店是一款淘宝旗下的电商平台,店家可以在上面开店并销售商品。在微店中,商家可以查看自己店铺中的访客数和浏览量等数据,但是一般情况下无法直接看到具体浏览过自己店铺的用户信息。

不过,微店提供了卖家工具“人人店营销”,该工具可以通过一些手段来获取访客的信息,例如通过对访客的浏览行为的分析和追踪,来推测出访客的基本信息,如性别、年龄、地域等。但这种方式也需要满足相关隐私政策和法律法规的要求,不能侵犯用户的个人信息。

微博不可以看到访客记录。

微博是一种基于用户关系信息分享、传播以及获取的通过关注机制分享简短实时信息的广播式的社交媒体、网络平台。

根据微博官方规则可以确定,微博是没有查看访客的功能,所以是不支持访客记录的查询的。我们在访问其他用户的主页后,不会留下任何浏览痕迹,对方也是无法查看我们的行为足迹。

作为最受大家喜爱的社交平台之一,微博的社交属性是重内容淡关系的,更侧重于内容的产生和分享,是一个开发性的交互平台,面悄扰向的人群更为广泛,所以对隐私的保护也是十分重要的,所以,微博是不支持查看访客记录的。

新浪微博阅读数的计算方式:

微博阅读数其实指的是次数,并不是人数。准确的说,阅读数就是单条微博在别人页面的被显示次数。例如打开微博平台,这时页面中显示的几十条微博的阅读数都会+1,如果刷新页面,那么所有的阅读数又会+1。如果某条微博被转发,转发微博被显示时,转发微博和原微博都会增加1次阅读数。

不可以

微信是不能查到别人的IP地址的,这个牵扯到个人隐私,微信也是不支持的。

微信是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序

微信支持跨通信运营商、跨 *** 作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、和文字,同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件“摇一摇”、“漂流瓶”、“朋友圈”、”公众平台“、”语音记事本“等服务插件。

1基本概念介绍

信息流广告是移动互联网时期产生,穿插在内容流中的广告,信息流广告有图文、、短视频等不同形式。因为信息流广告是完全以同样的形式在内容流中,所以用户打扰性低,不注意左上角的“广告”二字,很容易被当作普通内容来浏览甚至互动。

因为信息流广告完美平衡了媒体、广告主和用户的利益,而且信息流广告可以通过算法实现“千人千面”的推送,所以信息流广告已成为媒体广告商业化的重要部分。常见的信息流广告:微信朋友圈、今日头条和抖音等等。

12广告生态介绍

从信息流广告的生态看来,目前涵盖了广告主、媒体、第三方创意平台、数据平台以及监控平台等。

第三方创意平台:提供可按行业、媒体、广告样式、素材类型、设备、时间等多维筛选查看投放素材;

第三方数据平台:提供的服务一般包括用户洞察即消费者画像、用户/人群包管理及投放转化分析;

第三方广告监测平台:提供的是投放、效果数据的统计监测服务。广告主是流量的买方,媒体或投放渠道是流量的卖方,监测任务一般由第三方机构来担任。

13广告竞价投放

当前信息流广告主要是以RTB(公开竞价)的方式售卖,媒体会将广告位售卖给使他们收益最大化的广告主,通常用eCPM(预估千次展示收益)来衡量一个广告能给媒体带来的收益。其中eCPM=CPC出价预估CTR,至于为什么用eCPM衡量广告带给媒体的收益,如果一个位置的CPC出价很高,而且点击的可能性也很大,那么媒体获得收益最大化。

在竞价成功获得广告曝光机会后,广告的实际收费并不是按照出价计费;而是采用第二高价机制,即根据第二名出价的eCPM和广告本身的预估CTR计算出来的,具体计算公式为:

根据广告竞价的逻辑以及最后计费的逻辑,可以推导出预估CTR是广告竞价成功的重要影响因素,也是提高广告ROI的重要因素。而预估CTR和人群定向、投放时间、投放上下文、素材类型都有强相关性,怎样的投放组合下预估CTR最优,是需要从多次广告中积累的。

二、数据分析方法论介绍

目前在广告投放业务中,需要大量数据分析的场景主要包括以下三个方面:

广告投放效果分析;

广告投放优化分析;

广告反作弊异常分析;

21广告投放效果分析

在做广告投放效果分析,首先要明确广告投放的衡量指标。不同的业务场景有不同的效果衡量标准,但是大体上都是以用户转化率和产生收益额来推导。以电商行业的信息流广告投放为例,广告投放后用户转化路径如下:

因此,我们日常重点关注的指标包括以下部分,一般ROI是渠道价值重点衡量指标,因为他表示了流量成本和转化收益的真实关系。ROI都是基于一定时间周期计算而得到,如24小时ROI、7天ROI等等,这个可以根据实际需求来选择。

在确定衡量指标ROI后,我们由此来判断广告投放组的转化是否达标;对于不达标的投放组合,可通过公式拆解的方法判断是转化率太低还是客单价不合格或者还是成本消耗太高;再针对性的去优化问题。

如转化率低:可以从产品角度优化用户转化路径,从运营角度优化广告素材和人群定向;

客单价低:可以从产品角度优化针对新客的活动,从而提升用户粘性,从运营角度增强精细化运营充分挖掘不同用户的潜力;

成本消耗太高:运营角度可以提升广告的预估CTR,降低出价。

22广告投放优化分析

影响广告转化率的因素很多,如广告定向人群、广告创意、广告文案、广告位置等等。在前文的竞价广告的竞价原理里也提到,通过提高预估CTR,可以提升ROI。因此,在广告投放中需要找到最优的投放组合,提升CTR或者转化率,从而提升ROI。找寻最优的投放组合,目前用到最多的方法是AB测试,以及用朴素贝叶斯算法预估转化率比较高的人群定向投放组合。

AB测试

1、设计试验

确定效果衡量指标:点击率和转化率;

如下面的例子,我们同时设置两组AB测试组;分别测试性别和系统版本在同一创意下,转化率和点击率是否有显著差别。

2、广告投放,数据收集

对照组和试验组同时上线,收集广告曝光、点击和转化数据,一般数据收集量需要满足:

1、点击率和转化率已经稳定;

2、数据量级满足AB测试的显著性分析

广告点击率一般在3%左右,根据历史投放经验一般保证曝光量能在10000次以上。

如对于上面提到的两组测试组,我们收集到的数据为:

3、显著性检验,得到结论

构建零假设和备择假设,零假设总是相等,备择假设总是不等

广告投放的AB测试中,主要是对比点击率和转化率;即双边检验(p1和p2有显著差异):

零假设:p1 = p2 备择假设 p1 <> p2;

b 构造统计量

广告的点击率和转化率都是比例指标,根据中心极限定律可以知道他们一般近似服从正态分布。所以,点击率和转化率的AB测试就是比例之差的双边检验,检验的统计量也是服从正态分布,具体公式是:

c 计算z值,判断是否拒绝零假设

双边检验:z变量的值介于-196~196之间时,已经涵盖了95%的可能结果;因此对于95%的显著性水平,如果上面计算的z值在这个范围之外,则可以拒绝原假设;

以上面的例子计算z值,可以看出性别男和女的点击率和转化率没有显著差异, *** 作系统Android和iOS在点击率上有显著差异。

这是一个总体比例的ab测试工具,输入转化值即可输出P值和是否显著,对于日常分析非常方便。

朴素贝叶斯算法,优化广告定向

朴素贝叶斯算法是基于朴素贝叶斯公式进行分类的一种算法,可以计算出属于某一类的概率;之所以称为朴素,是因为它假设特征之间是相互独立的。但是在现实生活中,这种假设基本上是不成立的。即使是在假设不成立的条件下,它依然表现得很好,尤其是在小规模样本的情况下。

贝叶斯的公式是:

其中P(A|B)表示:B发生后A发生的概率;通过贝叶斯公式可以看出计算P(A|B)只需计算出后三项。下面以实际信息流投放案例进行介绍:

1 获取受众的画像及转化数据

假设已知广告定向的用户转化数据如下:

2 基于朴素贝叶斯计算概率

这个可以基于上面受众画像数据和贝叶斯公式推导计算;

假设我想知道广告定向X=(性别="男",年龄="35~39岁", *** 作系统="iOS")的用户转化的可能性,

可以计算得到P(转化="1"|X)=09275,

即广告定向X=(性别="男",年龄="35~39岁", *** 作系统="iOS")下,用户转化的可能性为09275

3 广告定向的投放指导

通过朴素贝叶斯算法,以及历史转化数据的用户画像分布,可以计算各个广告定向组合下的转化概率。这样可以对于那些高转化率的广告定向组合优先投放,或者给予高转化的定向组合更高的出价,低转化概率的定向组合更低的出价,达到广告转化效果的整体优化。

22广告反作弊异常分析

反作弊是一个比较复杂的过程,在金融、支付、内容生产及广告等多个业务场景下都必须做的事情,是一个一直需要提升且不断和黑产对抗的过程。而对于广告反作弊,识别异常流量和转化的主要用途是:一方面可以计算修正ROI,更合理的评估渠道质量;一方面可以识别异常,实时拦截减少异常流量消耗。

一个完整的反作弊体系,涵盖了异常监控、发现异常、分析异常以及处理异常的过程;数据分析人员要用到规则、指标及模型等多种手段方法才能做好异常发现。因此,本文不详细展开讲广告反作弊这一部分。

三、结束

以上就是广告投放过程中,数据分析师经常需要做的工作。总结一下,广告正式投放前,会通过AB测试找寻最优投放组合;通过贝叶斯算法预测最优广告定向;广告投放后,会基于ROI等指标分析广告投放效果,对渠道价值进行衡量,并协助产品和运营优化广告转化提升ROI;另外,在广告正式投放后,需要从数据角度分析发现异常激活和异常订单,再基于修正总GMV(去掉异常GMV后)去更合理的衡量渠道价值。

希望上面介绍的广告投放数据分析方法,能对你日常的工作或者学习有帮助。

以上就是关于android如何获取联络人所有资讯全部的内容,包括:android如何获取联络人所有资讯、微店看得到谁浏览过吗、怎么看微博访客记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9436693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存