window命令行xxx.bat
@echo on
cd %~dp0
rd /s /q .\java
md java
protoc.exe --java_out=./java push_proto.proto push_proto_inner.proto push_drc.proto push_proto_inner_message.proto
pb文件 xxx.proto
import "push_proto.proto";
package com.xxx.xxx.proto;
option java_multiple_files = true;
option java_package = "com.xxx.xxx.proto"; //java包名
//回執服務中轉消息
message ReceiptEntity {
required string message_id = 1; // 消息ID
optional string task_id = 2; // 廣播任務ID
optional string app_id = 3; // 應用ID
optional string device_id = 4; // 設備ID
optional string registrationId = 5; // 註冊ID
required string url = 6; // 回執URL
optional string param = 7; // 回執透傳參數
optional string event_type = 8; // 調用鏈路事件類型 如push_arrive
}
java代碼
ReceiptEntity.Builder receiptEntity = ReceiptEntity.newBuilder();
receiptEntity.setMessageId(messageId);
receiptEntity.setAppId(appId);
receiptEntity.setDeviceId(instantReceiptEntity.getDeviceId());
receiptEntity.setEventType(instantReceiptEntity.getEventType());
receiptEntity.setTaskId("0000");
receiptEntity.setRegistrationId(instantReceiptEntity.getTargetValue());
receiptEntity.setUrl(url);
receiptEntity entity = receiptEntity.build();
byte[] data = receiptEntity.toByteArray();
ReceiptEntity receiptEntity = ReceiptEntity.parseFrom(data);