mobile-toolkit移動應(yīng)用開發(fā)服務(wù)端工具庫
Java 的移動應(yīng)用開發(fā)服務(wù)端工具庫, 提供了Apple push,應(yīng)用內(nèi)支付校驗, Amazon的aws的幾個服務(wù)的調(diào)用.
在現(xiàn)在移動應(yīng)用(ios,android)的開發(fā)過程中,經(jīng)常會需要調(diào)用Apple 的push服務(wù)以及應(yīng)用內(nèi)支付校驗的功能,現(xiàn)有的一些sdk使用起來都不是很方便, 所以這里包裝了一個更加簡單更加方便的java庫. 例如apple 的push服務(wù)其實就是包裝了 APNS .
Amazon的S3存儲和Mail功能在開發(fā)海外的項目中也是經(jīng)常使用到的云服務(wù),Amazon的SDK本身已經(jīng)很全面,這里也僅僅是包裝簡化其使用方式.
Enjoy it!
## feature 1. APNS Apple push notification service
//setup apns by your keystore, key password and production ,false will use sandbox env
ApnsTools apnsTools = new DefaultApnsTools("aps.p12", "password", false);
apnsTools.alert("message", "device token");
//async apns , should set async thread number
AsyncApnsTools asyncApnsTools = new DefaultAsyncApnsTools("aps.p12", "password", false, 12);
asyncApnsTools.alert("message", "device token");
// you can setup a monitor for async apns tool.such as log monitor for print push result log. 2 is the log interval. TimeUnit is second
AsyncNotificationMonitor monitor = new LogNotificationMonitor(2, asyncApnsTools);
Suggest config this in spring:
<bean id="apnsTools" class="mobi.app.toolkit.apple.impl.DefaultApnsTools">
<constructor-arg index="0" value="${aps.key}"/>
<constructor-arg index="1" value="${aps.password}"/>
<constructor-arg index="2" value="${aps.production}"/>
</bean>
<bean id="asyncApnsTools" class="mobi.app.toolkit.apple.impl.DefaultAsyncApnsTools">
<constructor-arg index="0" value="${aps.key}"/>
<constructor-arg index="1" value="${aps.password}"/>
<constructor-arg index="2" value="${aps.production}"/>
<constructor-arg index="3" value="${aps.threadNumber}"/>
</bean>
<bean id="logMonitor" class="mobi.app.toolkit.apple.impl.LogNotificationMonitor">
<constructor-arg index="0" value="2"/>
<constructor-arg index="1" ref="asyncApnsTools"/>
</bean>
2. IAP Apple in app pay
//Setup iap tools, false will use sandbox env
IapTools iapTools = new DefaultIapTools(false);
IapReceipt receipt = iapTools.validate("your pay receipt");
System.out.print(receipt.getStatus());
Suggest config this in spring:
<bean id="iapTools" class="mobi.app.toolkit.apple.impl.DefaultIapTools">
<constructor-arg value="${iap.production}"/>
</bean>
3. AWS S3 Amazon s3
AwsS3Tools s3Tools = new DefaultS3Tools("your accessKey", "your accessSecret");
String url = s3Tools.upload("bucket", "key", new byte[]{}, "image/png");
System.out.print(url);
Suggest config this in spring:
<bean id="amazonS3Client" class="mobi.app.toolkit.aws.impl.DefaultS3Tools">
<constructor-arg index="0" value="${s3.accessKey}"/>
<constructor-arg index="1" value="${s3.accessSecret}"/>
</bean>
4. AWS Mail Amazon mail
AwsMailTools mailTools = new DefaultMailTools("your accessKey", "your accessSecret", "your admin mail");
mailTools.sendMail("to address", "title", "body");
Suggest config this in spring:
<bean id="awsMailTools" class="mobi.app.toolkit.aws.impl.DefaultMailTools">
<constructor-arg index="0" value="${aws.accessKey}"/>
<constructor-arg index="1" value="${aws.accessSecret}"/>
<constructor-arg index="2" value="${aws.adminMail}"/>
</bean>