Após adicionar o MSS SDK, é necessário configurar o projeto antes de utilizar o SDK.
Nota Desde 28 de junho de 2020, o mPaaS não mantém mais a baseline 10.1.32. Utilize as séries de baseline 10.1.68 ou 10.1.60. Para atualizar sua baseline, consulte o Guia de atualização do mPaaS 10.1.68 ou o Guia de atualização do mPaaS 10.1.60. |
Pré-requisitos
Certifique-se de usar a versão 10.1.32 ou posterior do SDK.
É possível encontrar a versão atual do SDK no arquivo mpaas_sdk.config.

Configurar o projeto
Verifique se o arquivo meta.config está presente no seu projeto. Esse arquivo contém informações de configuração, como o endpoint e a porta do serviço Sync.
Caso utilize o plug-in mais recente para adicionar o Sync SDK, esse arquivo será gerado automaticamente.
-
Se o arquivo
meta.confignão existir no projeto,Acesse a página Console > Code Management > Code Configuration para baixar o arquivo de configuração
.config. Em seguida, renomeie o arquivo parameta.confige adicione-o ao projeto.
Observações sobre atualização de versões anteriores
Versões posteriores à 10.1.32 não exigem o arquivo Category para a classe DTSyncInterface. A camada intermediária lê a configuração diretamente do arquivo meta.config. Após a atualização, verifique se há configurações legadas no projeto e remova-as.

Exemplo de código
Para escutar eventos de sincronização, crie uma classe. Um serviço residente em RAM é ideal para escutar mensagens Sync continuamente. No exemplo abaixo, cria-se a classe MySyncService para escutar esses eventos.
Antes de escutar os eventos de sincronização, defina um nome de identidade de negócio. Esse nome corresponde à identidade de configuração de sincronização no console de sincronização de dados e identifica seu cliente perante o serviço. No exemplo a seguir, o nome da identidade de negócio é SYNC-TRADE-DATA.
#import <MPMssAdapter/MPSyncInterface.h>
#define SYNC_BIZ_NAME @"SYNC-TRADE-DATA"
@implementation MySyncService
+ (instancetype)sharedInstance
{
static MySyncService *bizService;
static dispatch_once_t llSOnceToken;
dispatch_once(&llSOnceToken, ^{
bizService = [[self alloc] init];
});
return bizService;
}
-(instancetype)init
{
self = [super init];
if (self) {
[MPSyncInterface initSync];
BOOL registerSingleDeviceSync = [MPSyncInterface registerSyncBizWithName:SYNC_BIZ_NAME syncObserver:self selector:@selector(revSyncBizNotification:)];
[MPSyncInterface bindUserWithSessionId:@"SESSION_DEMO"]; // The User corresponds to the userId required when sending commands from the console, and must match the value in the MPaaSInterface userId function. The sessionId is the client's authorization token. Both userId and sessionId are returned on user logon. If either value changes, call this function again to re-establish the persistent connection.
}
return self;
}
-(void)revSyncBizNotification:(NSNotification*)notify
{
NSDictionary *userInfo = notify.userInfo;
dispatch_async(dispatch_get_main_queue(), ^{
// Process the business data
[MySyncService handleSyncData:userInfo];
// Callback to the Sync SDK to indicate that the business data is processed.
[MPSyncInterface responseMessageNotify:userInfo];
});
}
+(void)handleSyncData:(NSDictionary *)userInfo
{
NSString * stringOp = userInfo[@"op"];
NSArray *op = [NSJSONSerialization JSONObjectWithData:[stringOp dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];
if([op isKindOfClass:[NSArray class]]){
[op enumerateObjectsUsingBlock:^(NSDictionary * item, NSUInteger idx, BOOL *stop) {
if([item isKindOfClass:[NSDictionary class]]){
NSString * plString = item[@"pl"];// Business data payload
if(item[@"isB"]){
NSData *dataPl = [[NSData alloc] initWithBase64EncodedString:plString options:kNilOptions];
NSString *pl = [[NSString alloc] initWithData:dataPl encoding:NSUTF8StringEncoding];
NSLog(@"biz payload data:%@,string:%@",dataPl,pl);
}else{
NSLog(@"biz payload:%@",plString);
}
}
}];
}
}
-(void)dealloc
{
BOOL unRegisterSingleDeviceSync = [MPSyncInterface unRegisterSyncBizWithName:SYNC_BIZ_NAME syncObserver:[MySyncService sharedInstance]];
[MPSyncInterface removeSyncNotificationObserver:self];
}
@end
Instruções
Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado
Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês
Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão
Tags xref (
<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > eAplique todas as regras específicas do idioma rigorosamente
Aplique as regras de stopwords com tolerância zero
Use o modo imperativo em passos numerados e listas de procedimentos
Garanta a consistência terminológica — mesmo termo = mesma tradução em todo o documento
Varie os inícios de frase em listas/tabelas — nenhum início repetido 3+ vezes
Retorne APENAS o documento markdown em português brasileiro, sem explicações