快速开始
1. 在Podfile中添加以下行
pod 'zomato-ios-order-sdk'
2. 现在在您的终端中运行以下命令
pod install
初始化SDK
-
在应用的AppDelegate中
#import <ZO2Kit/ZOnlineOrderManager.h>
-
在 `didFinishLaunchingWithOptions` 中初始化 SDK
[ZOnlineOrderManager setAPIKey:@"orderingsdkapikey" andAPISecret:@"secretkey"];
-
要设置导航栏的背景颜色,请在此函数中传递颜色值
[ZOnlineOrderManager setThemeColor:0xcb202d];
注意:导航栏项的文字颜色为白色。
-
要设置底部按钮的背景颜色,在此函数中传递颜色值
[ZOnlineOrderManager setBottomBarColor:0x099e44];
-
要为订单主页上的右侧导航栏按钮设置图片,请使用此函数
[ZOnlineOrderManager setRightActionButtonImage:[UIImage imageNamed:@"<imageName>"]]
注意:对于按钮操作的响应,将您的视图控制器作为代理设置为
[[ZOnlineOrderManager sharedInitializer] setDelegate:self]
并使用代理方法didTapHomeRightActionBarButtonOnNavigationController:
。 -
使用此方法设置用户的名称
[[ZOnlineOrderManager sharedInitializer] setUserFullName:@"<Name>"]
-
在开始订单流程后设置用户的电话号码
[[ZOnlineOrderManager sharedInitializer] setUserPhoneNumber:@"<user's phone number>"];
-
现在,你想下单,请在这个函数中输入你的电话号码
-
用于模态显示
[[ZOnlineOrderManager sharedInitializer] startOnlineOrderWithPhoneNumber:@"phone-number-10-digit" viewController:self];
-
用于导航推送
[[ZOnlineOrderManager sharedInitializer] startOnlineOrderWithPhoneNumber:@"phone-number-10-digit" pushOnNavViewController:self.navigationController];
-
-
订单下单时,您将收到一个通知,其中包含PlaceOrderTab对象
extern NSString *const zOrderPlaced;
-
订单状态更改时,您将收到一个包含PlaceOrderTab对象的通知
extern NSString *const zOrderStatusChanged;
-
在开始订单流程之前设置餐厅ID以打开特定的餐厅
[[ZOnlineOrderManager sharedInitializer] setRestaurantId:<res_id>];
-
在以下函数中传递订单编号以打开订单详情
[[ZOnlineOrderManager sharedInitializer] showOrderDetailViewControllerForOrderID:@"<order-id-string>" viewController:self];
-
设置zomato用户token,在开始在线订购流程之前您需要调用此函数
[[ZOnlineOrderManager sharedInitializer] setZomatoUserToken:@"zomatoUserToken"];
-
获取zomato用户token,您需要调用此函数,并且函数的参数在中生成令牌后被调用
[[ZOnlineOrderManager sharedInitializer] getZomatoUserTokenWithCompletionHandler:^(NSError *error, NSString *zomatoUserToken){ // code }];
注意:无论何时从主应用程序启动订购流程,都会生成一个访问令牌,该令牌保存在本地设备存储中,并类似于会话ID。因此,所有用户活动(订单,保存的地址)都映射到此访问令牌。用户的Zomato账户与这个账户完全独立。卸载应用程序、注销并清除数据将从本地存储中删除访问令牌,并为下次生成新的令牌。这可能会导致与该特定用户关联的详细信息丢失。因此,如果应用程序想要维护用户数据映射,则必须保存访问令牌。
-
删除所有用户日志
[ZOnlineOrderManager invalidate];
-
PlaceOrderTab 对象引用:
PlaceOrderTabObject.tabId : To get orderId PlaceOrderTabObject.statusText : To get Order Status PlaceOrderTabObject.createdTimeString : To get order Timing PlaceOrderTabObject.restaurant.name : To get Restaurant Name PlaceOrderTabObject.restaurant.location.locality : To get Restaurant Subzone PlaceOrderTabObject.restaurant.restThumbURL : To get Restaurant image PlaceOrderTabObject.order.itemsArray : An array of PlaceOrderItem objects
-
PlaceOrderItem 对象:
PlaceOrderItem object has 'type' property which can take one of following values: "dish" : food item "subtotal2" : subtotal (sum of the price of all dishes, without taxes or charges) "tax" : tax (eg. VAT, Service Tax) "charge" : extra charge (eg. Packaging Charge) "extra" : extra charge (eg. Delivery Charge) "voucher_discount" : discount given after applying any promo code "dominos_coupon" : discount given on orders placed at Domino’s after applying any promo code "salt_discount", "salt_discounts" : discount automatically given by the merchant "total_merchant" : amount charged by the merchant ( (subtotal2 + taxes + charges)- promo discount given by merchant [salt_discount]) "total", "total_user" : amount charged to the user (total_merchant - promo discount after applying code [voucher_discount]) Other properties of PlaceOrderItem object are: quantity totalCost itemName unitCost