具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例的一种地理位置通知方法的流程示意图,本发明实施例的所述方法可应用在现有的一些基于位置的服务的***中,特别是应用在各种基于即时通讯应用的公众平台中,所述方法可以由用于获取用户终端位置的服务器实现,具体的,所述方法包括:
S101:服务器检测到用户终端打开与目标账号的会话界面后,判断所述目标账号是否可以提供基于地理位置的信息服务。
若可以提供基于地理位置的信息服务,则执行下述的S102,否则,结束。
在基于即时通讯应用的公众平台中,用户终端中安装有相应的即时通讯客户端应用,当用户需要与某一个公众账号即目标账号通信时,用户可以首先打开即时通讯客户端应用中与该目标账号的会话界面,与目标账号的会话界面可以参考图2所示,图2中描述了一个名为“音乐吧”的公众账号以及对应的会话界面。当用户打开与目标账号的会话界面后,用户终端可以将该会话打开事件上报给服务器,以使所述服务器能够检测得知用户终端打开了与目标账号的会话界面。
服务器基于该用户终端的打开事件确定目标账号后,可以根据该目标账号的注册信息判断该目标账号是否可以提供基于地理位置的信息服务。一种简单的实现方式为:当服务器根据目标账号的注册信息确定该目标账号为个人账号、或者新闻类等类型的账号时,确定该目标账号对应的用户为不需要进行基于位置的推广服务,判定该目标账号为不可以提供基于地理位置的信息服务。而如果所述目标账号为餐饮类、旅游类等类型的账号时,表明此目标账号对应的用户希望知道用户的位置以便于向这些用户发送餐饮、旅游消息时,则确定该目标账号为可以提供基于地理位置的信息服务。
或者,服务器是基于预置的账号功能映射表来判断所述目标账号是否可以提供基于地理位置的信息服务,所述账号功能映射表为服务器预置的,每一个账号在申请阶段时,会填写是否需要基于地理位置的数据处理,若为是时,服务器在所述账号功能映射表中记录该账号并将该目标账号记录为可以提供基于地理位置的信息服务,如记录为“1”。所述的账号功能映射表可以根据目标账号的更新操作实时或者周期性更新,例如目标账号的用户将自身修改为不需要基于地理位置的数据处理时,所述账号功能映射表上会删除该目标账号,或者将该目标账号对应的信息记录为不需要进行基于地理位置的信息服务的标识,如记录为“0”。
S102:若可以提供基于地理位置的信息服务,从所述用户终端中获取用于标识该用户终端地理位置的位置信息。具体的,可以从所述用户终端中获取IP地址信息、基站定位信息、经纬度信息中的任一种或者多种作为用于标识该用户终端的地理位置的位置信息。
S103:根据获取的用于标识该用户终端地理位置的位置信息确定所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
如果在S101中判断出所述目标账号可以提供基于地理位置的信息服务,则到所述用户终端中获取用于标识该用户终端的地理位置的位置信息。
所述S102可以获取该用户终端的IP地址,将IP地址作为用于标识该用户终端地理位置的位置信息;所述S103中则根据IP地址所属的区域位置来确定所述用户终端所属的区域位置。例如,根据现有的IP地址定位***,可以确定IP地址位于某某街道或者城市的某大楼,此时所述S103则可以将IP地址对应的街道或大楼作为所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
或者:所述S102可以触发对该用户终端进行基站定位,获取经纬度坐标,将经纬度坐标作为用于标识该用户终端地理位置的位置信息;或者触发该用户终端开启GPS功能以获取经纬度坐标(即地理坐标),将经纬度坐标作为用于标识该用户终端地理位置的位置信息。在S103中可以直接将经纬度坐标发送给所述目标账号。当然也可以结合电子地图,将经纬度坐标对应到电子地图中的街道或者大楼等位置,然后将街道或者大楼推送给所述目标账号。
在将用户终端的地理位置推送给目标账号的用户后,目标账号的用户就可以根据该用户终端的位置,通过服务器向该用户终端发送一些推广消息。例如旅游类的公众账号用户可以向某一地理位置的用户发送该地理位置附近的旅游景点信息、门票信息、旅游报价信息等。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免无用位置信息的获取,避免了一些不必要的处理资源开销,节约了服务器的处理资源。
再请参见图3,是本发明实施例的另一种地理位置通知方法的流程示意图,本发明实施例的所述方法可应用于现有的一些基于位置的服务的***中,特别是应用在各种基于即时通讯应用的公众平台中,所述方法可以由用于获取用户终端位置的服务器实现,具体的,所述方法包括:
S201:服务器检测到用户终端打开与目标账号的会话界面后,判断所述目标账号是否可以提供基于地理位置的信息服务;
在所述S201判断为是时,执行下述的S202,当所述S201判断出所述目标账号不可以提供基于地理位置的信息服务时,则结束,对该目标账号以及用户终端不作任何关于地理位置的数据获取与推送处理。
并且,所述S201完成判断的具体实现方式与上述实施例中的S101相同,在此不赘述。
S202:若可以提供基于地理位置的信息服务,判断所述用户终端是否将向所述目标账号发送用于标识该用户终端的地理位置的位置信息的授权标志置为授权发送状态。
也就是说,在本发明实施例中,如果目标账号可以提供基于地理位置的信息服务时,还需要判断所述用户终端的用户是否允许向该目标账号发送其地理位置信息。
用户终端通过即时通讯客户端应用的授权标志记录了用户对该目标账号的授权状态。如果用户将对该目标账号的授权标志设置为授权发送状态,则执行下述的S203,否则,执行下述的S204。
进一步具体的,用户可以在即时通讯客户端应用中统一对所有的公众账号的授权标志进行授权设置,也可以单独对某一个公众账号的授权标志进行授权设置。
S203:若所述授权标志被置为授权发送状态,则从所述用户终端中获取用于标识该用户终端地理位置的位置信息。
如果为授权发送状态,则表明用户同意向该目标账号发送其所在的位置信息,服务器可以从该用户终端获取到位置信息并发送给目标账号对应的用户。
S204:若授权标志不是置为授权发送状态,向所述用户终端发送授权请求信息,以便于请求所述用户终端向所述目标账号授权发送位置信息。
S205:当接收到所述用户终端响应所述授权请求信息发出的授权确认信息时,从所述用户终端中获取用于标识该用户终端地理位置的位置信息。
如果授权标志不是被置为授权发送状态,例如为禁止状态时,则向用户终端发送授权请求信息,询问用户是否修改相应的授权标志以向所述目标账号授权发送位置信息。用户终端会根据授权请求信息向用户发出提示,具体可以在用户终端显示是否向所述目标账号授权发送位置信息,如果用户点击选择了“允许”按钮,用户终端会向服务器发送授权确认信息。用户终端同时还可以自动修改授权标志,将授权标志设置为授权发送状态。
接收到授权确认信息后,表明用户同意向该目标账号发送其所在的位置信息,服务器可以从该用户终端获取到位置信息并发送给目标账号对应的用户。
具体的,上述的S203以及S204中从所述用户终端中获取用于标识该用户终端地理位置的位置信息可以包括:服务器接收所述用户终端在打开了与目标账号的会话界面时上传的用于标识该用户终端的地理位置的位置信息;或者,接收所述用户终端在打开了与目标账号的会话界面时按照预设的周期阈值周期性上传的用于标识该用户终端的地理位置的位置信息。并且获取的用于标识该用户终端的地理位置的位置信息包括该用户终端的IP地址信息、基站定位信息或者GPS经纬度坐标等信息。即可以在每次用户终端的用户打开进入会话界面时,向服务器上传用于标识该用户终端的地理位置的位置信息,或者在用户终端的用户打开进入会话界面后关闭会话界面前,每隔一段时间向服务器上传用于标识该用户终端的地理位置的位置信息。
S206:根据获取的用于标识该用户终端地理位置的位置信息确定所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
具体的,向所述目标账号推送的地理位置的其中一种具体消息格式可以采用下述表1所示的格式。其他地理位置具体消息格式中还可以包括具体的某栋大楼或者街道信息。
表1:
参数 |
描述 |
ToUserName |
目标账号 |
FromUserName |
发送方帐号(一个OpenID) |
CreateTime |
消息创建时间(整型) |
MsgType |
location |
Location_X |
地理位置纬度 |
Location_Y |
地理位置经度 |
Label |
地理位置信息 |
在将用户终端的地理位置推送给目标账号的用户后,目标账号的用户就可以根据该用户终端的位置,通过服务器向该用户终端发送一些推广消息。例如旅游类的公众账号用户可以向某一地理位置的用户发送该地理位置附近的旅游景点信息、门票信息、旅游报价信息等。
具体的,再请参见图4,是本发明实施例的获取用于标识该用户终端地理位置的位置信息其中一种具体流程示意图,本发明实施例的所述方法可对应于上述图1对应实施例中的S102,或者对应于上述图3对应实施例中的S203以及S204,具体的,本发明实施例的所述方法包括:
S301:服务器判断所述用户终端是否基于IP地址进行网络通信。
S302:若是基于IP地址进行网络通信,则获取所述用户终端的IP地址信息作为用于标识该用户终端的地理位置的位置信息。
若用户终端通过路由器或者wifi热点等设备连接到互联网时为基于IP地址的网络通信,可以获取IP地址信息作为用于标识该用户终端的地理位置的位置信息。
S303:若不是基于IP地址进行网络通信,则获取所述用户终端的基站定位信息作为用于标识该用户终端的地理位置的位置信息、或者触发开启所述用户终端的GPS定位功能以获取所述用户终端的经纬度信息作为用于标识该用户终端的地理位置的位置信息。
在本发明实施例中,对于IP地址信息、基站定位信息以及GPS的经纬度信息,由于IP地址信息可以直接获取,并且根据IP地址信息可以简单快速地获取到该用户终端对应的街道或者大楼的地理位置,因此优先选择IP地址信息作为用于标识该用户终端的地理位置的位置信息,其次再选择需要耗费额外的用户终端电能的基站定位信息或者GPS的经纬度信息。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免无用位置信息的获取,避免了一些不必要的处理资源开销,节约了服务器的处理资源。并且,服务器获取用户终端的位置信息是通过在用户打开会话后发送或者在打开会话后关闭会话前周期性的方式获取的,并不是像现有技术那样随时随地都在获取,且本发明实施例在用户没有授权向目标账号发送位置信息的情况下、需要向用户获取位置信息之前,会向用户发起询问,也方便了用户能够有选择地提供位置信息,这样不仅保护了用户的隐私,而且进一步地减少了无用位置信息的获取,进一步地节约了处理资源。
再请参见图5,是本发明实施例的又一种地理位置通知方法的流程示意图,本发明实施例的所述方法可应用于现有的一些基于位置的服务的***中,特别是应用在各种基于即时通讯应用的公众平台中,所述方法可以由用于用户登录的用户终端实现,具体的,所述方法包括:
S401:用户终端检测到用户打开与目标账号的会话界面时,判断是否授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息。
在每次用户打开与目标账号的会话界面时,用户终端均执行所述S401。所述S401中具体可以判断即时通讯客户端应用中的关于所述目标账号的授权标志是否被置为授权发送状态,若是,则授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,执行下述的S402,若否,则执行下述的S403。
S402:若判断结果为授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,则获取用于标识该用户终端的地理位置的位置信息并发送给服务器,以使所述服务器根据获取的用于标识该用户终端的地理位置的位置信息确定的所述用户终端的地理位置推送给所述目标账号。
在判断结果为授权向目标账号发送位置信息时,直接获取IP地址信息、基站定位信息以及GPS的经纬度坐标中的任一种或多种信息发送给服务器,由服务器发送给目标账号对应的用户。在本发明实施例中,如果用户终端在进入与目标账号的会话界面后,判断已授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,那么,服务器侧在用户终端本次之前的打开会话界面时就已经判断了目标账号为可以提供基于地理位置的信息服务的账号,可以向该目标账号发送位置信息。
S403:若没有授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,则向服务器发送未授权通知。
如果判断结果为没有授权,则需要请求服务器进行相应的判断,向服务器发送未授权通知以通知所述服务器本用户终端没有授权向所述目标账号发送本端位置信息。
S404:接收服务器响应未授权通知发送的授权请求消息,并向用户提示是否向所述目标账号发送用于标识该用户终端的地理位置的位置信息。
在所述S404中,服务器接收到未授权通知后,可以认为用户终端是首次进入该目标账号,可选地执行判断该目标账号是否可以提供基于地理位置的信息服务的账号,在判断为是时,响应未授权通知向所述用户终端发送授权请求消息,如果判断为不可以提供基于地理位置的信息服务,则不响应所述未授权通知,丢弃该未授权通知。
用户终端在接收到授权请求消息后,向用户发出提示,具体可以是显示是否允许向所述目标账号发送位置信息。
S405:在接收到用户的授权确认操作时,将授权标志置为授权发送状态。
S406:获取用于标识该用户终端的地理位置的位置信息并发送给服务器,以使所述服务器根据获取的用于标识该用户终端的地理位置的位置信息确定的所述用户终端的地理位置推送给所述目标账号。
若用户点击了“允许”按钮,在所述S405中将授权标识置为授权发送状态,并在S406中直接获取IP地址信息、基站定位信息以及GPS的经纬度坐标中任一种或多种信息发送给服务器,由服务器发送给目标账号对应的用户。
或者,用户终端获取用于标识该用户终端的地理位置的位置信息并发送给服务器,包括:用户终端判断本终端是否基于IP地址进行网络通信;若是,则将本终端的IP地址信息作为用于标识该用户终端的地理位置的位置信息发送给服务器;若否,则将本终端的基站定位信息作为用于标识该用户终端的地理位置的位置信息发送给服务器、或者开启本终端的GPS定位功能以获取本终端的经纬度信息作为用于标识该用户终端的地理位置的位置信息发送给服务器。
在本发明实施例中,对于IP地址信息、基站定位信息以及GPS的经纬度信息,由于IP地址信息可以直接获取,并且根据IP地址信息可以简单快速地获取到该用户终端对应的街道或者大楼的地理位置,因此优先选择IP地址信息作为用于标识该用户终端的地理位置的位置信息,其次再选择需要耗费额外的用户终端电能的基站定位信息或者GPS的经纬度信息。
进一步具体的,所述用户终端向服务器发送用于标识该用户终端的地理位置的位置信息可以包括:
用户终端在打开了与目标账号的会话界面时,向服务器发送用于标识该用户终端的地理位置的位置信息;或者用户终端在打开了与目标账号的会话界面时,按照预设的周期阈值周期性地向服务器发送用于标识该用户终端的地理位置的位置信息。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,能够有选择性地获取用户终端的位置信息并发送给服务器,可以有效地减少甚至避免无用位置信息的获取以及发送,避免了用户终端以及服务器的一些不必要的处理资源开销,节约了用户终端以及服务器的处理资源。并且,用户终端的位置信息是通过在用户打开会话后发送或者在打开会话后关闭会话前周期性的方式获取并发送的,并不是像现有技术那样随时随地都在获取并发送,且本发明实施例在用户没有授权向目标账号发送位置信息的情况下、需要向用户获取位置信息之前,会向用户发起询问,也方便了用户能够有选择地提供位置信息,这样不仅保护了用户的隐私,而且进一步地减少了无用位置信息的获取,进一步地节约了用户终端以及服务器的处理资源。
再请参见图6,是本发明实施例的再一种地理位置通知方法的流程示意图,本发明实施例的所述方法可应用在现有的一些基于位置的服务的***中,特别是应用在各种基于即时通讯应用的公众平台中,所述方法可以由用于获取用户终端位置的服务器、用户登录的用户终端以及目标账号的用户登录终端中实现,具体的,所述方法包括:
S501:用户终端检测到用户打开与目标账号的会话界面时,根据授权标志判断是否授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息;
S502:若没有授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,用户终端则向服务器发送未授权通知;
S503:服务器在判断出所述目标账号可以提供基于地理位置的信息服务时,响应所述未授权通知向所述用户终端发送授权请求信息;
S504:用户终端向用户提示是否向所述目标账号发送用于标识该用户终端的地理位置的位置信息,并在接收到用户的授权确认操作时,将授权标志置为授权发送状态,并获取用于标识该用户终端的地理位置的位置信息并发送给服务器;
S505:服务器根据获取的用于标识该用户终端的地理位置的位置信息确定所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
具体的,用户终端获取用于标识该用户终端的地理位置的位置信息并发送给服务器具体可以获取IP地址信息、基站定位信息以及GPS的经纬度坐标发送给服务器。
或者,用户终端获取用于标识该用户终端的地理位置的位置信息并发送给服务器可以包括:用户终端判断本终端是否基于IP地址进行网络通信;若是,则将本终端的IP地址信息作为用于标识该用户终端的地理位置的位置信息发送给服务器;若否,则将本终端的基站定位信息作为用于标识该用户终端的地理位置的位置信息发送给服务器、或者开启本终端的GPS定位功能以获取本终端的经纬度信息作为用于标识该用户终端的地理位置的位置信息发送给服务器。
在本发明实施例中,对于IP地址信息、基站定位信息以及GPS的经纬度信息,由于IP地址信息可以直接获取,并且根据IP地址信息可以简单快速地获取到该用户终端对应的街道或者大楼的地理位置,因此优先选择IP地址信息作为用于标识该用户终端的地理位置的位置信息,其次再选择需要耗费额外的用户终端电能的基站定位信息或者GPS的经纬度信息。
进一步具体的,用户终端向服务器发送用于标识该用户终端的地理位置的位置信息可以包括:
用户终端在打开了与目标账号的会话界面时,向服务器发送用于标识该用户终端的地理位置的位置信息;或者用户终端在打开了与目标账号的会话界面时,按照预设的周期阈值周期性地向服务器发送用于标识该用户终端的地理位置的位置信息。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,服务器能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免用户终端以及服务器中无用位置信息的获取,避免了一些不必要的处理资源开销,节约了用户终端以及服务器的处理资源。
下面对本发明实施例的实现地理位置通知的服务器、用户终端以及***进行详细描述。
请参见图7,是本发明实施例的一种实现地理位置通知的服务器的结构示意图,本发明实施例中的所述服务器可以为现有的一些基于位置的服务的***中的获取用户位置的服务器,特别是在各种基于即时通讯应用的公众平台中相应的服务器,所述服务器具体可以包括:
第一判断模块11,用于检测到用户终端打开与目标账号的会话界面后,判断所述目标账号是否可以提供基于地理位置的信息服务;
在所述第一判断模块11的判断结果为不可以提供基于地理位置的信息服务时,本发明实施例的所述服务器不会执行关于所述目标账号以及用户终端的位置信息的获取和发送操作。
获取模块12,用于若可以提供基于地理位置的信息服务,从所述用户终端中获取用于标识该用户终端地理位置的位置信息;
推送模块13,用于根据获取的用于标识该用户终端地理位置的位置信息确定所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
在基于即时通讯应用的公众平台中,用户终端中安装有相应的即时通讯客户端应用,当用户需要与某一个公众账号即目标账号通信时,用户可以首先打开即时通讯客户端应用中与该目标账号的会话界面,与目标账号的会话界面可以参考图2所示。当用户打开与目标账号的会话界面后,用户终端可以将该会话打开事件上报给本服务器,使得本服务器能够检测得知用户终端打开了与目标账号的会话界面。
服务器基于该用户终端的打开事件确定目标账号后,所述第一判断模块11可以根据该目标账号的注册信息判断该目标账号是否可以提供基于地理位置的信息服务。所述第一判断模块11的一种简单的实现方式为:当服务器根据目标账号的注册信息确定该目标账号为个人账号、或者新闻类等类型的账号时,确定该目标账号对应的用户为不需要进行基于位置的推广服务,判定该目标账号为不可以提供基于地理位置的信息服务。反之,如果所述目标账号为餐饮类、旅游类等类型的账号时,表明此目标账号对应的用户希望知道用户的位置以便于向这些用户发送餐饮、旅游消息时,则确定该目标账号为可以提供基于地理位置的信息服务。
或者,所述第一判断模块11是基于预置的账号功能映射表来判断所述目标账号是否可以提供基于地理位置的信息服务,所述账号功能映射表为服务器预置的,每一个账号在申请阶段时,会填写是否需要基于地理位置的数据处理,若为是时,服务器在所述账号功能映射表中记录该账号并将该目标账号记录为可以提供基于地理位置的信息服务的标识,如记录为“1”。所述的账号功能映射表可以根据目标账号的更新操作实时或者周期性更新,例如目标账号的用户将自身修改为不需要基于地理位置的数据处理时,所述账号功能映射表上会删除该目标账号,或者将该目标账号对应的信息记录为不需要进行基于地理位置的信息服务的标识,如记录为“0”。
如果所述第一判断模块11判断出所述目标账号可以提供基于地理位置的信息服务,所述获取模块12则到所述用户终端中获取用于标识该用户终端的地理位置的位置信息。
所述获取模块12可以获取该用户终端的IP地址,将IP地址作为用于标识该用户终端地理位置的位置信息;所述推送模块13则根据IP地址所属的区域位置来确定所述用户终端所属的区域位置。例如,根据现有的IP地址定位***,可以确定IP地址位于某某街道或者城市的某大楼,此时所述推送模块13可以将IP地址对应的街道或大楼作为所述用户终端的地理位置,并向所述目标账号推送所述用户终端的地理位置。
或者:所述获取模块12可以触发对该用户终端进行基站定位,获取经纬度坐标,将经纬度坐标作为用于标识该用户终端地理位置的位置信息;或者触发该用户终端开启GPS功能以获取经纬度坐标(即地理坐标),将经纬度坐标作为用于标识该用户终端地理位置的位置信息。所述推送模块13可以直接将经纬度坐标发送给所述目标账号。当然也可以结合电子地图,将经纬度坐标对应到电子地图中的街道或者大楼等位置,然后将街道或者大楼推送给所述目标账号。
在将用户终端的地理位置推送给目标账号的用户后,目标账号的用户就可以根据该用户终端的位置,通过服务器向该用户终端发送一些推广消息。例如旅游类的公众账号用户可以向某一地理位置的用户发送该地理位置附近的旅游景点信息、门票信息、旅游报价信息等。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,服务器能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免服务器中无用位置信息的获取,避免了一些不必要的处理资源开销,节约了服务器的处理资源。
进一步具体的,请参见图8,是本发明实施例的另一种实现地理位置通知的服务器的结构示意图,本发明实施例的所述服务器包括上一实施例中的第一判断模块11、获取模块12以及推送模块13,在本发明实施例中,所述服务器还可以包括:
第二判断模块14,用于在第一判断模块11的判断结果为可以提供基于地理位置的信息服务后,判断所述用户终端是否将向所述目标账号发送用于标识该用户终端的地理位置的位置信息的授权标志置为授权发送状态;
通知模块15,用于在所述授权标志被置为授权发送状态时,通知所述获取模块12执行从所述用户终端中获取用于标识该用户终端地理位置的位置信息。
也就是说,在本发明实施例中,如果目标账号可以提供基于地理位置的信息服务时,还需要通过所述第二判断模块14判断所述用户终端的用户是否允许向该目标账号发送其地理位置信息。
用户终端通过即时通讯客户端应用的授权标志记录了用户对该目标账号的授权状态。如果用户将对该目标账号的授权标志设置为授权发送状态,所述第二判断14的判断结果为用户允许向该目标账号发送其地理位置信息,则所述通知模块15通知所述获取模块12从所述用户终端中获取用于标识该用户终端地理位置的位置信息,以便于所述推送模块13向目标账号推送该用户终端的位置信息。
而如果第二判断模块14的判断结果为用户没有授权向该目标账号发送其地理位置信息,授权标志被设置为禁止状态。则所述服务器还可以包括:
发送模块16,用于在所述授权标志不是置为授权发送状态时,向所述用户终端发送授权请求信息,以便于请求所述用户终端向所述目标账号授权发送位置信息;
所述通知模块15,还用于当接收到所述用户终端响应所述授权请求信息发出的授权确认信息时,通知所述获取模块11执行从所述用户终端中获取用于标识该用户终端地理位置的位置信息。
如果授权标志不是被置为授权发送状态,例如为禁止状态时,则所述发送模块16向用户终端发送授权请求信息,询问用户是否修改相应的授权标志以向所述目标账号授权发送位置信息。用户终端会根据授权请求信息向用户发出提示,具体可以在用户终端显示是否向所述目标账号授权发送位置信息,如果用户点击选择了“允许”按钮,用户终端会向服务器发送授权确认信息。用户终端同时还可以自动修改授权标志,将授权标志设置为授权发送状态。
接收到授权确认信息后,表明用户同意向该目标账号发送其所在的位置信息,再通过所述通知模块15通知获取模块12可以从该用户终端获取到位置信息,以便于所述推送模块13向目标账号推送该用户终端的位置信息。
所述获取模块12获取的位置信息可以为所述用户终端的IP地址信息、基站定位信息以及GPS的经纬度坐标中的任一种或者多种。
进一步可选地,再请参见图9,是图8中的获取模块的其中一种具体结构示意图,所述获取模块12可以包括:
通信类型判断单元121,用于在所述第一判断模块11的判断结果为可以提供基于地理位置的信息服务时,判断所述用户终端是否为基于IP地址进行网络通信;
第一获取单元122,用于在是基于IP地址进行网络通信时,获取所述用户终端的IP地址信息作为用于标识该用户终端的地理位置的位置信息;
第二获取单元123,用于在不是基于IP地址进行网络通信时,获取所述用户终端的基站定位信息作为用于标识该用户终端的地理位置的位置信息、或者触发开启所述用户终端的GPS定位功能以获取所述用户终端的经纬度信息作为用于标识该用户终端的地理位置的位置信息。
对于IP地址信息、基站定位信息以及GPS的经纬度信息,由于IP地址信息可以直接获取,并且根据IP地址信息可以简单快速地获取到该用户终端对应的街道或者大楼的地理位置,因此优先选择IP地址信息作为用于标识该用户终端的地理位置的位置信息,其次再选择需要耗费额外的用户终端电能的基站定位信息或者GPS的经纬度信息。
进一步可选地,所述获取模块12具体用于接收所述用户终端在打开了与目标账号的会话界面时上传的用于标识该用户终端的地理位置的位置信息;或者接收所述用户终端在打开了与目标账号的会话界面时按照预设的周期阈值周期性上传的用于标识该用户终端的地理位置的位置信息。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免无用位置信息的获取,避免了一些不必要的处理资源开销,节约了服务器的处理资源。并且,服务器获取用户终端的位置信息是通过在用户打开会话后发送或者在打开会话后关闭会话前周期性的方式获取的,并不是像现有技术那样随时随地都在获取,且本发明实施例在用户没有授权向目标账号发送位置信息的情况下、需要向用户获取位置信息之前,会向用户发起询问,也方便了用户能够有选择地提供位置信息,这样不仅保护了用户的隐私,而且进一步地减少了无用位置信息的获取,进一步地节约了处理资源。
再请参见图10,是本发明实施例的一种实现地理位置通知的用户终端的结构示意图,本发明实施例的所述用户终端可以为现有的一些基于位置的服务的***中的用户所使用的移动终端等,特别是应用在各种基于即时通讯应用的公众平台中普通用户所使用的终端,具体的,所述用户终端包括:
判断模块21,用于在检测到用户打开与目标账号的会话界面时,判断是否授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息;
处理模块22,用于在判断结果为授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,则获取用于标识该用户终端的地理位置的位置信息,并将获取到的位置信息发送给服务器,以使所述服务器根据获取的用于标识该用户终端的地理位置的位置信息确定的所述用户终端的地理位置推送给所述目标账号。
用户终端在每次用户打开与目标账号的会话界面时,均会通过所述判断模块21判断是否授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息。所述判断模块21具体可以判断即时通讯客户端应用中的关于所述目标账号的授权标志是否被置为授权发送状态,若是,则授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息。
在判断结果为授权向目标账号发送位置信息时,所述处理模块22直接获取IP地址信息、基站定位信息以及GPS的经纬度坐标中的任一种或多种信息发送给服务器,由服务器发送给目标账号对应的用户。在本发明实施例中,如果用户终端在进入与目标账号的会话界面后,所述判断模块21判断已授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息,那么,服务器侧在用户终端本次之前的打开会话界面时就已经判断了目标账号为可以提供基于地理位置的信息服务的账号,可以向该目标账号发送位置信息。
进一步具体的,所述用户终端还可以包括:
发送模块23,用于在没有授权向所述目标账号发送用于标识该用户终端的地理位置的位置信息时,则向服务器发送未授权通知;
接收模块24,用于接收服务器响应未授权通知发送的授权请求消息;
提示模块25,用于向用户提示是否向所述目标账号发送用于标识该用户终端的地理位置的位置信息;
设置模块26,用于在接收到用户的授权确认操作后,将授权标志置为授权发送状态;
所述处理模块22,还用于在接收到用户的授权确认操作后,获取用于标识该用户终端的地理位置的位置信息并发送给服务器,以使所述服务器根据获取的用于标识该用户终端的地理位置的位置信息确定的所述用户终端的地理位置推送给所述目标账号。
如果所述判断模块21的判断结果为没有授权,则需要通过所述发送模块23请求服务器进行相应的判断,向服务器发送未授权通知以通知所述服务器本用户终端没有授权向所述目标账号发送本端位置信息。
在服务器接收到未授权通知后,可以认为用户终端是首次进入该目标账号,可选地执行判断该目标账号是否可以提供基于地理位置的信息服务的账号,在判断为是时,响应未授权通知向所述用户终端发送授权请求消息,如果判断为不可以提供基于地理位置的信息服务,则不响应所述未授权通知,丢弃该未授权通知。
所述接收模块24在接收到授权请求消息后,向用户发出提示,具体可以是显示是否允许向所述目标账号发送位置信息。若用户点击了“允许”按钮,用户终端的设置模块26可以将授权标识置为授权发送状态,并通过所述处理模块22直接获取IP地址信息、基站定位信息以及GPS的经纬度坐标中任一种或多种信息发送给服务器,由服务器发送给目标账号对应的用户。
进一步具体的,请参见图11,是图10中的处理模块的其中一种具体结构示意图,所述处理模块22包括:
判断单元221,用于判断本终端是否基于IP地址进行网络通信;
第一处理单元222,用于在判断单元的判断结果为是时,将本终端的IP地址信息作为用于标识该用户终端的地理位置的位置信息发送给服务器;
第二处理单元223,用于在判断单元的判断结果为否时,将本终端的基站定位信息作为用于标识该用户终端的地理位置的位置信息发送给服务器、或者开启本终端的GPS定位功能以获取本终端的经纬度信息作为用于标识该用户终端的地理位置的位置信息发送给服务器。
在本发明实施例中,对于IP地址信息、基站定位信息以及GPS的经纬度信息,由于IP地址信息可以直接获取,并且根据IP地址信息可以简单快速地获取到该用户终端对应的街道或者大楼的地理位置,因此优先选择IP地址信息作为用于标识该用户终端的地理位置的位置信息,其次再选择需要耗费额外的用户终端电能的基站定位信息或者GPS的经纬度信息。
所述处理模块22向服务器发送用于标识该用户终端的地理位置的位置信息时,具体用于在打开了与目标账号的会话界面时,向服务器发送用于标识该用户终端的地理位置的位置信息;或者在打开了与目标账号的会话界面时,按照预设的周期阈值周期性地向服务器发送用于标识该用户终端的地理位置的位置信息。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,能够有选择性地获取用户终端的位置信息并发送给服务器,可以有效地减少甚至避免无用位置信息的获取以及发送,避免了用户终端以及服务器的一些不必要的处理资源开销,节约了用户终端以及服务器的处理资源。并且,用户终端的位置信息是通过在用户打开会话后发送或者在打开会话后关闭会话前周期性的方式获取并发送的,并不是像现有技术那样随时随地都在获取并发送,且本发明实施例在用户没有授权向目标账号发送位置信息的情况下、需要向用户获取位置信息之前,会向用户发起询问,也方便了用户能够有选择地提供位置信息,这样不仅保护了用户的隐私,而且进一步地减少了无用位置信息的获取,进一步地节约了用户终端以及服务器的处理资源。
再请参见图12,是本发明实施例的一种地理位置通知***的结构示意图,本发明实施例的所述***可以应用在现有的一些基于位置的服务的***中,特别是应用在各种基于即时通讯应用的公众平台中,具体的,所述***包括:至少一个用户终端,本发明实施例以用户终端2为例进行说明、服务器1以及目标账号用户终端3,其中,
所述用户终端2,用于检测到用户打开与目标账号的会话界面时,根据授权标志判断是否授权向所述目标账号发送用于标识该用户终端2的地理位置的位置信息;若没有授权向所述目标账号发送用于标识该用户终端2的地理位置的位置信息,则向服务器1发送未授权通知;
所述服务器1,用于在判断出所述目标账号可以提供基于地理位置的信息服务时,向所述用户终端2发送授权请求信息;
所述用户终端2,还用于向用户提示是否向所述目标账号发送用于标识该用户终端2的地理位置的位置信息,并在接收到用户的授权确认操作时,将授权标志置为授权发送状态,并获取用于标识该用户终端2的地理位置的位置信息并发送给服务器1;
所述服务器1,还用于根据获取的用于标识该用户终端2的地理位置的位置信息确定所述用户终端2的地理位置,并将所述用户终端2的地理位置推送给所述目标账号用户终端3。
所述目标账号用户终端3在接收到服务器发送的关于所述用户终端2的地理位置后,目标账号的用户就可以根据该用户终端的位置,通过服务器向该用户终端发送一些推广消息。例如旅游类的公众账号用户可以向某一地理位置的用户发送该地理位置附近的旅游景点信息、门票信息、旅游报价信息等。
本发明实施例能够在用户打开进入了相应目标账号的会话界面后,服务器能够对该目标账号进行识别判断,以便于有选择性地从用户终端中获取该用户终端的位置信息并发送给目标账号对应的用户,可以有效地减少甚至避免用户终端以及服务器中无用位置信息的获取,避免了一些不必要的处理资源开销,节约了用户终端以及服务器的处理资源。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。