一、友盟客户端demo:

由于SDK原因,新版Android Studio的Android API 28 Platform无法同步新建项目,

所以我最终选择下载android-studio-bundle-141.1903250-windows.exe,Android API 22 Platform。

安卓虚拟机我选择的是Genymotion,十分好用。http://www.runoob.com/w3cnote/android-tutorial-genymotion-install.html

参考链接完成安装并加入Genymotion-ARM-Translation.zip

参考https://developer.umeng.com/docs/66632/detail/66744导入Demo项目,由于SDK不匹配,要修改一些文件。

Android结构下:

1、build.gradle(Project: MultiFunctionAndroidDemo):

dependencies {
classpath 'com.android.tools.build:gradle:1.2.3' // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

2、build.gradle(Module: UMLibrary):

compileSdkVersion 22
buildToolsVersion "22.0.1" defaultConfig {
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }

3、gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

由于ExampleInstrumentedTest报错,查了资料也没改成,最后决定用默认的将其替换
package com.umeng.soexample;

import android.app.Application;
import android.test.ApplicationTestCase; public class ExampleInstrumentedTest extends ApplicationTestCase<Application> {
public ExampleInstrumentedTest() {
super(Application.class);
}
} 其余按照参考教程即可。

二、友盟推送使用

在友盟官网下载python SDK v1.0 beta, 由于是beta版本,所以代码存在错误。

demo.py:

1、AndroidNotification.DisplayType.NOTIFICATION -> AndroidNotification.DisplayType.notification

2、删除对setExtraFiled的使用

androidnotification.py:

更正为:

if "body" in payloadJson:
  bodyJson = payloadJson["body"]
else:
  payloadJson["body"] = bodyJson

三、个推推送使用

客户端安卓模拟器拉入getui_sdk.apk,获得CID

下载python sdk按教程使用。

我这里用个推第二次推动时,会在没找到最优host的时候调用self.httpPostJson(self.host, params),

程序会报错:

我的解决方法是在IGeTui类初始化的时候就给self.host先根据输入的host赋一个初始值。

四、基于django建立python web服务器

参考http://www.runoob.com/django/django-tutorial.html

由于我要用POST默认的x-www-form-urlencoded格式发送数据,所以我们要取消csrf验证。

在settings.py中注释相关字段即可

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

python搭建友盟以及个推推送web服务器的更多相关文章

  1. Mac OS X上搭建Apache、PHP、MySQL的Web服务器

    mac OS 系统太帅了,安装php的环境如此简单,大赞一个! 转载自http://jingyan.baidu.com/article/39810a23e1939fb636fda6a9.html 在M ...

  2. 友盟umeng消息推送直接复制就能用(纯干货)

    一. 单播推送(unicast) 1.1 图 1.2 代码 1 /** 2 * 根据设备的deviceToken, 去给指定的设备推送消息 3 * 4 * @param deviceToken 单个d ...

  3. 《Python高效开发实战》实战演练——内置Web服务器4

    <Python高效开发实战>实战演练——开发Django站点1 <Python高效开发实战>实战演练——建立应用2 <Python高效开发实战>实战演练——基本视图 ...

  4. Python小项目四:实现简单的web服务器

    https://blog.csdn.net/u010103202/article/details/74002538 本博客是整理在学习实验楼的课程过程中记录下的笔记形成的,参考:https://www ...

  5. Python之路【第二十七篇】:web服务器django

    Django 一.web框架 框架,即时framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单的说,就是用别人搭建好的舞台来表演你的才艺 ...

  6. Python复习笔记(十)Http协议--Web服务器-并发服务器

    1. HTTP协议(超文本传输协议) 浏览器===>服务器发送的请求格式如下:(浏览器告诉服务器,浏览器的信息) GET / HTTP/1.1 Host: www.baidu.com Conne ...

  7. .NET手记-友盟消息推送服务器端加密算法的实现

    最近为App开发消息推送功能,这里我们采用了友盟的消息推送服务,但其后台简陋,可定制化程度低,所以决定接入服务器端API,在自己的服务器上部署一套推送服务. 其中涉及到很多问题,首先要解决的就是与友盟 ...

  8. 友盟iOS推送配置(从真机调试到推送)

    下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已. iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这里我将省略掉一 ...

  9. 【转载自友盟消息推送iOS文档】在appDelegate中注册推送

    1.2   基本功能集成指南 提示 请先在友盟的消息推送管理后台中创建App,获得AppKey和AppSecret 导入SDK 下载 UMessage_Sdk_All_x.x.x.zip并解压缩 导入 ...

随机推荐

  1. python面试题——基础篇(80题)

    1.为什么学习Python? Python是一门优秀的综合语言, Python的宗旨是简明.优雅.强大,在人工智能.云计算.金融分析.大数据开发.WEB开发.自动化运维.测试等方向应用广泛 2.通过什 ...

  2. html+css杂记

    overflow可设置超出后隐藏 子元素撑开父级元素:①父级元素宽度不固定,②父级元素设置为inline-block或者添加float: html中的中文在浏览器打开为乱码(已经写了<meta ...

  3. 有意思的jsonp

    <style> body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;} a{color:inherit;text-decor ...

  4. While, DoWhile in WorkFlow.

    On 03/03/2010, in 4.0, WF, by bcakiroglu While Activity In a While activity, the activity in the Bod ...

  5. Android5.0以后,materialDesign风格的加阴影和裁剪效果

    5.0以后,materialDesign风格,出现了立体这种概念,高光,阴影,也就是Z轴,凸显层次:同时,裁剪view也变得方便简单了很多. 1,先说说阴影的实现. 方案1:在xml中设置 xml中设 ...

  6. 运行python文件报SyntaxError:Non-ASCII character '\xe7'

    以下是报错内容: 在文件页头加上: #coding=uft-8 ~解决了~ 记录一下(捂脸)

  7. [topcoder]TheConsecutiveIntegersDivOne

    http://community.topcoder.com/stat?c=problem_statement&pm=13625&rd=16278 首先,如果记得曼哈顿距离最小值那个问题 ...

  8. PDO链式操作——针对关键字出现问题的解决方案

    例如: 1.执行一条SQL语句:查询user表中的所有数据,并通过name字段进行降序,通过age进行升序 2. 案例1:   正确的执行语句为:SELECT * FROM user ORDER BY ...

  9. MySQL入门很简单: 9 插入 更新与删除数据

    1. 插入数据:INSERT 1)为表的所有字段插入数据 第一种: 不指定具体的字段名 INSERT INTO 表名 VALUES(值1,值2,...,值n): 第二种:INSERT语句中列出所有字段 ...

  10. 【转载】#336 - Declaring and Using a readonly Field

    You can make a field in a class read-only by using the readonly modifier when the field is declared. ...