一、友盟客户端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. 安全漏洞 : XSS CSRF

    https://my.oschina.net/hc24/blog/527099 XSS成因概括 : XSS其实就是Html的注入问题,攻击者A的输入没有经过严格的控制进入了数据库,最终显示给来访的用户 ...

  2. CRM的划分

          CRM提供完整的客户生命周期管理解决方案,帮助您管理各项与客户有关的事件,包括市场.销售以及客户支持等方面,优化事件处理流程,从而赢得更多客户,并提高客户满意度.   按企业经营类型划分 ...

  3. Quick-Cocos2d-x Lua脚本加密打包器

    准备开新项目了,在寻找合适的框架,后来就发现了Quick-Cocos2d-x这玩意. 别说,还挺好使.之后一步步研究,发现Lua不加密是不行的. 加密的方法在这里. 因为在做版本更新的时候,一般大家都 ...

  4. WiFi调试手机

     转自http://blog.csdn.net/Yejianyun1/article/details/55511726 使用场景: 1.多设备执行测试用例 2.数据线无法满足使用 电脑与手机的网络需要 ...

  5. java之Socket多线程传递对象

    服务器端利用线程池回复客户端: public class Server implements Runnable { private final ServerSocket server; private ...

  6. jQuery + Stimulsoft.Report 选择gridview多行打印

    jQuery + Stimulsoft.Report 报表空间打印多个ID split函数,多行ID 1. 获取选择多行ID(前台) //按钮-打印 function PrinterWorkQuali ...

  7. struts2表单提交Date数据无法接收

    问题:在Struts2环境下,提交含有Date类型数据表单,但是在action中没有接收到:String就可以直接接收到: --网络搜索后,说Struts2可以自己转,但是目前没发现有: 然后在狂搜, ...

  8. Nginx启用Gzip压缩js无效的原因

    Nginx启用gzip很简单,只需要设置一下配置文件即可完成,可以参考文章Nginx如何配置Gzip压缩功能.不过,在群里常有人提到,他们的网站Gzip压缩虽然成功了,但检测到JS仍然没有压缩成功,这 ...

  9. 2017.10.26 JavaWeb----第五章 JavaBean技术

    JavaWeb----第五章 JavaBean技术 (1)JavaBean技术 JavaBean技术是javaweb程序的重要组成部分,是一个可重复使用的软件组件,是用Java语言编写的.遵循一定的标 ...

  10. git中Bash基本操作命令

    ).cd : 改变目录. ).cd . . 回退到上一个目录,直接cd进入默认目录 ).pwd : 显示当前所在的目录路径. ).ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列 ...